1. Trang chủ
  2. » Công Nghệ Thông Tin

Cấu trúc Máy tính và Lập trình Assembly - Chương 6 pptx

39 521 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 39
Dung lượng 3,83 MB

Nội dung

7/31/2011 7/31/2011 Chuong 5 Nhap mon ASM Chuong 5 Nhap mon ASM 1 1 Ch Ch ử ử ụng ụng 5 : Nha 5 : Nha ọ ọ p moõn Assembly p moõn Assembly Hie Hie ồ ồ u ngoõn ng u ngoõn ng ử ử ừ ma ừ ma ự ự y va y va ứ ứ ngoõn ng ngoõn ng ử ử ừ Assembly. ừ Assembly. Tr Tr ỡ ỡ nh hụ nh hụ ù ù p dũch Assembler. p dũch Assembler. Ly Ly ự ự do nghieõn c do nghieõn c ửự ửự u Assembly. u Assembly. Hie Hie ồ ồ u ca u ca ự ự c tha c tha ứ ứ nh pha nh pha n cụ ba n cụ ba ỷ ỷ n cu n cu ỷ ỷ a Assembly a Assembly Na Na ộ ộ m m ủử ủử ụ ụ ù ù c ca c ca ỏ ỏ u tru u tru ự ự c cu c cu ỷ ỷ a 1 CT Assembly. a 1 CT Assembly. Bie Bie ỏ ỏ t vie t vie ỏ ỏ t 1 ch t 1 ch ử ử ụng tr ụng tr ỡ ỡ nh Assembly. nh Assembly. Bie Bie ỏ ỏ t ca t ca ự ự ch dũch, lieõn ke ch dũch, lieõn ke ỏ ỏ t va t va ứ ứ th th ửù ửù c thi 1 ch c thi 1 ch ử ử ụng tr ụng tr ỡ ỡ nh nh Assembly. Assembly. Muùc tieõu h1 h2 Slide 1 h1 shjsahjsa huh, 10/13/2004 h2 ssasasasas huh, 10/13/2004 7/31/2011 7/31/2011 Chuong 5 Nhap mon ASM Chuong 5 Nhap mon ASM 2 2 Giơ Giơ ù ù i thie i thie ä ä u ngôn ng u ngôn ng ư ư õ Assembly õ Assembly   Giu Giu ù ù p kha p kha ù ù m pha m pha ù ù b b í í ma ma ä ä t pha t pha à à n c n c ứ ứ ng cũng nh ng cũng nh ư ư pha pha à à n n me me à à m ma m ma ù ù y t y t í í nh. nh.   Na Na é é m m đư đư ơ ơ ï ï c ca c ca ù ù ch pha ch pha à à n c n c ứ ứ ng MT la ng MT la ø ø m vie m vie ä ä c vơ c vơ ù ù i he i he ä ä đ đ ie ie à à u ha u ha ø ø nh va nh va ø ø hie hie å å u u đư đư ơ ơ ï ï c ba c ba è è ng ca ng ca ù ù ch na ch na ø ø o 1 tr o 1 tr ì ì nh nh ứ ứ ng du ng du ï ï ng giao tie ng giao tie á á p vơ p vơ ù ù i he i he ä ä đ đ ie ie à à u ha u ha ø ø nh. nh.   Mo Mo ä ä t MT hay mo t MT hay mo ä ä t ho t ho ï ï MT s MT s ử ử du du ï ï ng 1 ta ng 1 ta ä ä p le p le ä ä nh mã nh mã ma ma ù ù y riêng cũng nh y riêng cũng nh ư ư 1 ngôn ng 1 ngôn ng ư ư õ Assembly riêng. õ Assembly riêng. 7/31/2011 7/31/2011 Chuong 5 Nhap mon ASM Chuong 5 Nhap mon ASM 3 3 Assembler Assembler Mo Mo ọ ọ t ch t ch ử ử ụng tr ụng tr ỡ ỡ nh vie nh vie ỏ ỏ t ba t ba ố ố ng ngoõn ng ng ngoõn ng ử ử ừ Assembly ừ Assembly muo muo ỏ ỏ n MT th n MT th ửù ửù c hie c hie ọ ọ n n ủử ủử ụ ụ ù ù c ta pha c ta pha ỷ ỷ i chuye i chuye ồ ồ n tha n tha ứ ứ nh nh ngoõn ngoõn ng ng ử ử ừ ma ừ ma ự ự y. y. Ch Ch ử ử ụng tr ụng tr ỡ ỡ nh du nh du ứ ứ ng ng ủ ủ e e ồ ồ dũch 1 file vie dũch 1 file vie ỏ ỏ t ba t ba ố ố ng Assembly ng Assembly ngoõn ng ngoõn ng ử ử ừ ma ừ ma ự ự y , go y , go ù ù i la i la ứ ứ Assembler Assembler . . Coự 2 chửụng trỡnh dũch: MASM vaứ TASM 7/31/2011 7/31/2011 Chuong 5 Nhap mon ASM Chuong 5 Nhap mon ASM 4 4 Ly Ly ự ự do nghieõn c do nghieõn c ửự ửự u Assembly u Assembly ẹ ẹ o o ự ự la la ứ ứ ca ca ự ự ch to ch to ỏ ỏ t nha t nha ỏ ỏ t t ủ ủ e e ồ ồ ho ho ù ù c pha c pha n c n c ửự ửự ng MT ng MT va va ứ ứ he he ọ ọ ủ ủ ie ie u ha u ha ứ ứ nh. nh. V V ỡ ỡ ca ca ự ự c tie c tie ọ ọ n n ớ ớ ch cu ch cu ỷ ỷ a no a no ự ự . . Co Co ự ự the the ồ ồ nhu nhu ự ự ng ca ng ca ự ự c ch c ch ử ử ụng tr ụng tr ỡ ỡ nh con vie nh con vie ỏ ỏ t t ba ba ố ố ng ASM va ng ASM va ứ ứ o trong ca o trong ca ự ự cch cch ử ử ụng tr ụng tr ỡ ỡ nh vie nh vie ỏ ỏ t t ba ba ố ố ng ngoõn ng ng ngoõn ng ử ử ừ ca ừ ca ỏ ỏ p cao . p cao . 7/31/2011 7/31/2011 Chuong 5 Nhap mon ASM Chuong 5 Nhap mon ASM 5 5 Le Le ọ ọ nh ma nh ma ự ự y y La La ứ ứ 1 chuo 1 chuo ồ ồ i nhũ phaõn co i nhũ phaõn co ự ự y y ự ự ngh ngh ú ú a a ủ ủ a a ở ở c bie c bie ọ ọ t t no no ự ự ra ra le le ọ ọ nh cho CPU th nh cho CPU th ửù ửù c hie c hie ọ ọ n ta n ta ự ự c vu c vu ù ù . . Ta Ta ự ự c vu c vu ù ù ủ ủ o o ự ự co co ự ự the the ồ ồ la la ứ ứ : : di chuye di chuye ồ ồ n 1 so n 1 so ỏ ỏ t t ửứ ửứ vũ tr vũ tr ớ ớ nhụ nhụ ự ự na na ứ ứ y sang vũ tr y sang vũ tr ớ ớ nhụ nhụ ự ự kha kha ự ự c. c. Co Co ọ ọ ng 2 so ng 2 so ỏ ỏ hay so sa hay so sa ự ự nh 2 so nh 2 so ỏ ỏ . . 0 0 0 0 0 1 0 0 Add a number to the AL register 1 0 0 0 0 1 0 1 Add a number to a variable 1 0 1 0 0 0 1 1 Move the AX reg to another reg 7/31/2011 7/31/2011 Chuong 5 Nhap mon ASM Chuong 5 Nhap mon ASM 6 6 Le Le ä ä nh ma nh ma ù ù y (cont) y (cont)   Ta Ta ä ä p le p le ä ä nh ma nh ma ù ù y y đư đư ơ ơ ï ï c c đ đ ònh ngh ònh ngh ó ó a tr a tr ư ư ơ ơ ù ù c, khi CPU c, khi CPU đư đư ơ ơ ï ï c c sa sa û û n xua n xua á á t va t va ø ø no no ù ù đ đ a a ë ë c tr c tr ư ư ng cho kie ng cho kie å å u CPU . u CPU .   Ex : B5 05 la Ex : B5 05 la ø ø 1 le 1 le ä ä nh ma nh ma ù ù y vie y vie á á t da t da ï ï ng so ng so á á hex, da hex, da ø ø i 2 byte. i 2 byte.   Byte Byte đ đ a a à à u B5 go u B5 go ï ï i la i la ø ø Opcode Opcode   Byte sau 05 go Byte sau 05 go ï ï i la i la ø ø toa toa ù ù n ha n ha ï ï ng Operand ng Operand Ýù nghóa của lệnh B5 05 : chép giá trò 5 vào reg AL Ýù nghóa của lệnh B5 05 : chép giá trò 5 vào reg AL 7/31/2011 7/31/2011 Chuong 5 Nhap mon ASM Chuong 5 Nhap mon ASM 7 7 Ca Ca ù ù ch vie ch vie á á t 1 ch t 1 ch ư ư ơng tr ơng tr ì ì nh Assembly nh Assembly Soạn CT TenCT.ASM Dòch CT Liên kết CT Chạy CT Dùng 1 phần mềm soạn thảo VB bất kỳ để soan CT Assembly như : NotePad, NC, màn hình C, Pascal CT có phần mở rộng là .ASM dùng MASM để dòch chương trình nguồn .ASM  File Object. dùng LINK để liên kết Object tạo tập tin thực hiện .EXE Gỏ tên tập tin thực hiện .EXE từ dấu nhắc DOS để chạy 7/31/2011 7/31/2011 Chuong 5 Nhap mon ASM Chuong 5 Nhap mon ASM 8 8 Dòch va Dòch va ø ø no no á á i ke i ke á á t ch t ch ö ö ông tr ông tr ì ì nh nh TenCT .ASM TenCT .OBJ MASM.EXE MASM.EXE TenCT .EXE TenCT .EXE TenCT .MAP TenCT .LIST TenCT .CRF LINK.EXE LINK.EXE 7/31/2011 7/31/2011 Chuong 5 Nhap mon ASM Chuong 5 Nhap mon ASM 9 9 Mo Mo ä ä t ch t ch ö ö ông tr ông tr ì ì nh minh hoa nh minh hoa ï ï DOSSEG DOSSEG .MODEL SMALL .MODEL SMALL .STACK 100h .STACK 100h .DATA .DATA MES DB MES DB “ “ HELLO WORD HELLO WORD ” ” , , ’ ’ $ $ ’ ’ .CODE .CODE MAIN PROC MAIN PROC MOV AX, @DATA MOV AX, @DATA MOV DS, AX MOV DS, AX MOV DX, OFFSET MES MOV AH, 9 INT 21 MOV AH,4CH INT 21 MAIN ENDP END MAIN [...]... dữ liệu vào thanh ghi AX Sau đó chép vào thanh ghi DS Gọi hàm số 9 của Int 21h của Dos để xuất chuổi ký tự ra màn hình Thoát khỏi CT Main endp : đánh dấu kết thúc thủ tục nh End main : chấm dứt chương trình 7/31/2011 Chuong 5 Nhap mon ASM 14 Cấu trúc của 1 CT ASM DOSSEG MODEL kiểu bộ nhớ STACK kích thước DATA khai báo biến, hằng n, ng CODE MAIN PROC MOV AX, @DATA MOV DS,AX các lệnh của chương trình. .. DATA STACK  Origin Group  0002:0 DGROUP  Program entry point at 0000:0010 7/31/2011 Chuong 5 Nhap mon ASM 12 Giải thích  model small : dùng kiểu cấu trúc n,khô ng 64 K... khởi tạo trò ta dùng toán tử ? ng Ex : MEM8 DB ? ; khai báo 1 byte trống trong bộ nhớ MEM 16 DW ? ; khai báo 2 byte trống trong bộ nhớ BMEM DB 50 DUP(?) ; khai báo 50 byte trống trong bộ nhớ 7/31/2011 Chuong 5 Nhap mon ASM 32 Chương trình dạng COM ng CODE SEGMENT ASSUME CS:CODE , DS:CODE, SS:CODE ; toàn bộ chương trình chỉ nằm trong 1 segment Org 100h ;; chỉ thò nạp thanh ghi lệnh IP=100h khi CT được... chứa 1 lệnh và mỗi lệnh phải nằm trên 1 dòng LIST DB 1,2,3,4 7/31/2011 Chuong 5 Nhap mon ASM 17 INT 21H  Lệnh INT số hiệu ngắt được dùng để gọi nh ng chương trình ngắt của DOS và BIOS Ngắt 21h Muốn sử dụng hàm nào của INT 21h ta đặt function_number vào thanh ghi AH, sau đó gọi INT 21h Function_number chức năng 1 nhập 1 ký tự từ bàn phím 2 Xuất 1 ký tự ra mà hình 9 7/31/2011 Xuất 1 chuổi ký tự ra màn... gồm 50 bytes ng db 4 dup (“ABC”) ;12 bytes “ABCABCABCABC” db 40 96 dup (0) ; Vùng đệm 40 96 bytes tất cả bằng 0 ng ng 7/31/2011 Chuong 5 Nhap mon ASM 28 Khởi tạo biến  Lưu ý : Khi khởi tạo trò là 1 số hex thì giá trò số luôn luôn bắt đầu bằng 1 ký số từ 0 đến 9 Nếu ký ng số bắt đầu là A F thì phải thêm số 0 ở đầu u  Ex : Db A6H ; sai Db 0A6h ; đúng ng 7/31/2011 Chuong 5 Nhap mon ASM 29 Toán tử DUP (cont)... Assembler Version 5.10 Page 1-1 Page 1-                   1 DOSSEG 2 MODEL SMALL 3 STACK 100H 4 DATA 5 0000 48 45 4C 4C 4F 20 MES DB "HELLO WORD$" 6 57 4F 52 44 24 7 CODE 8 0000 MAIN PROC 9 0000 B8 R MOV AX,@DATA 10 0003 8E D8 MOV DS, AX 11 0005 B4 09 MOV AH,9 12 0007 BA 0000 R MOV DX, OFFSET MES 13 000A CD 21 INT 21H 14 000C B4 4C MOV AH,4CH 15 000E CD 21 INT 21H 16 0010 MAIN ENDP 17 END... 33 SUMMARY        chương trình Assembly gồm nhiều dòng lệnh ng nh Mỗi lệnh phải viết trên 1 dòng nh ng Lệnh có thể gồm [tên] [toán tử] [toán hạng] nh ng] Các ký tự phải đặt trong dấu ‘ ‘ hay “ “ DB dùng để đònh nghóa biến kiểu BYTE ng DW dùng để đònh nghóa biến kiểu WORD ng Có 2 cách xuất nhập dữ liệu : liên lạc trực tiếp qua ch cổng hay dùng các phục vụ ngắt của DOS và BIOS ng ng 7/31/2011 Chuong... liệu nhiều hơn 1 đoạn, mảng có thể > 64 K n, ng 7/31/2011 Chuong 5 Nhap mon ASM 16 Dạng lệnh ng nh Chú thích Chú thích  [name] [operator] [ operand] [comment] Nhãn tên biến Nhãn, ,tên biến Tên thủ tụ Tên thủ tụcc Ex : MOV CX , 0 LAP : MOV CX, 4 Mã lệnh dạng Mã lệnh dạng gợ nhớ gợiinhớ Register, ô nhớ Register, ô nhớ Trò, hằng Trò, hằng Mỗi dòng chỉ chứa 1 lệnh và mỗi lệnh phải nằm trên 1 dòng LIST... nghóa byte Từ Số byte 1 Từ kép Từ tứ 10 bytes Chuong 5 Nhap mon ASM Thuộc tính Byte 2 Word 4 8 10 Doubleword Quardword tenbyte 24 Minh họa khai báo biến KIỂU BYTE        Char db ‘A’ Num db 41h Mes db “Hello Word”,’$’ Array_1 db 10, 32, 41h, 00100101b Array_2 db 2,3,4 ,6, 9 Myvar db ? ; biến không khởi tạo Btable db 1,2,3,4,5 db 6, 7,8,9,10 7/31/2011 Chuong 5 Nhap mon ASM 25 Minh họa khai báo biến KIỂU . <= 64 K bo c <= 64 K bo ọ ọ nhụ nhụ ự ự cho cho maừ , 64 K cho d maừ , 64 K cho d ử ử ừ lie ừ lie ọ ọ u. u. .Stack 100h : da .Stack 100h : da ứ ứ nh 2 56 bytes cho stack cu nh 2 56 bytes. Assembler. Ly Ly ự ự do nghieõn c do nghieõn c ửự ửự u Assembly. u Assembly. Hie Hie ồ ồ u ca u ca ự ự c tha c tha ứ ứ nh pha nh pha n cụ ba n cụ ba ỷ ỷ n cu n cu ỷ ỷ a Assembly a Assembly Na Na ộ ộ m m ủử ủử ụ ụ ù ù c. ca ỏ ỏ u tru u tru ự ự c cu c cu ỷ ỷ a 1 CT Assembly. a 1 CT Assembly. Bie Bie ỏ ỏ t vie t vie ỏ ỏ t 1 ch t 1 ch ử ử ụng tr ụng tr ỡ ỡ nh Assembly. nh Assembly. Bie Bie ỏ ỏ t ca t ca ự ự ch dũch,

Ngày đăng: 24/07/2014, 09:20

TỪ KHÓA LIÊN QUAN