GIÁO TRÌNH CẤU TRÚC MÁY TÍNH LẬP TRÌNH HỢP NGỮ_CHƯƠNG 5 Nhập môn Assembly pot

38 2K 4
GIÁO TRÌNH CẤU TRÚC MÁY TÍNH LẬP TRÌNH HỢP NGỮ_CHƯƠNG 5 Nhập môn Assembly pot

Đ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

22/08/2011 22/08/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 22/08/2011 22/08/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. 22/08/2011 22/08/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 22/08/2011 22/08/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 . 22/08/2011 22/08/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 22/08/2011 22/08/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 22/08/2011 22/08/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 22/08/2011 22/08/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 22/08/2011 22/08/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 22/08/2011 22/08/2011 Chuong 5 Nhap mon ASM Chuong 5 Nhap mon ASM 10 10 Ca Ca ự ự c file c file ủử ủử ụ ụ ù ù c ta c ta ù ù o o Sau khi dũch tha Sau khi dũch tha ứ ứ nh coõng file nguo nh coõng file nguo n.ASM, ta co n.ASM, ta co ự ự ca ca ự ự c file : c file : File listing : file VB , ca File listing : file VB , ca ự ự c do c do ứ ứ ng co ng co ự ự ủ ủ a a ự ự nh so nh so ỏ ỏ th th ửự ửự t t ửù ửù maừ. maừ. File Cross reference File Cross reference File Map File Map File Obj File Obj File EXE File EXE [...]... không khởi tạo Btable db 1,2,3,4 ,5 db 6,7,8,9,10 22/08/2011 Chuong 5 Nhap mon ASM 25 Minh họa khai báo biến KIỂU WORD DW 3 DUP (?) DW 1000h, ‘AB’, 1024 DW ? DW 5 DUP (1000h) DW 256 *2 DẠNG LƯU TRỮ DỮ LIỆU KIỂU WORD : Trình hợp dòch đảo ngược các byte trong 1 giá trò kiểu WORD khi lưu trữ trong bộ nhớ : Byte thấp lưu ở đòa chỉ thấp Byte cao lưu ở đòa chỉ cao 22/08/2011 Chuong 5 Nhap mon ASM 26 Minh họa khai... Microsoft (R) Macro Assembler Version 5. 10 Page 1-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 00 05 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... trong bộ nhớ BMEM DB 50 DUP(?) ; khai báo 50 byte trống trong bộ nhớ 22/08/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 nạp nh Main proc mov ax,bx …………… Main endp Count db 10 ……………………… Code ends End main 22/08/2011 Chuong 5 Nhap mon ASM 33 SUMMARY... DOS và BIOS ng ng 22/08/2011 Chuong 5 Nhap mon ASM 34 Câu hỏi ôn tập  Trong mã máy dưới đây được lấy từ tập tin liệt kê, hãy nêu ý nghóa của R 5B 0021 R ADD BX, VAL1  Nêu ý nghóa của ký hiệu đòa chỉ của biến dưới đây trong 1 tập tin liệt kê 5B 0021 R ADD BX, VAL1 22/08/2011 Chuong 5 Nhap mon ASM 35 Câu hỏi ôn tập  Chương trình sau có lỗi Hãy tìm câu lệnh nào gây ra lỗi, giải nh thích và sửa lại cho... ♀◘Microsoft (R) Macro Assembler Version 5. 10 10/11/4 22/08/2011 Chuong 5 Nhap mon ASM 10/11/4 11 Map File     Start Stop Length Name 00000H 0001FH 00020H _TEXT 00020H 0002AH 0000BH _DATA 00030H 0012FH 00100H STACK Class CODE DATA STACK  Origin Group  0002:0 DGROUP  Program entry point at 0000:0010 22/08/2011 Chuong 5 Nhap mon ASM 12 Giải thích  model small : dùng kiểu cấu trúc . 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. 100H   4 .DATA 4 .DATA   5 0000 48 45 4C 4C 4F 20 MES DB "HELLO WORD$" 5 0000 48 45 4C 4C 4F 20 MES DB "HELLO WORD$"   6 57 4F 52 44 24 6 57 4F 52 44 24   7 .CODE 7 .CODE   8. 22/08/2011 22/08/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 ử ử ừ

Ngày đăng: 22/07/2014, 00:20

Từ khóa liên quan

Mục lục

  • Chương 5 : Nhập môn Assembly

  • Giới thiệu ngôn ngữ Assembly

  • Assembler

  • Lý do nghiên cứu Assembly

  • Lệnh máy

  • Lệnh máy (cont)

  • Cách viết 1 chương trình Assembly

  • Dòch và nối kết chương trình

  • Một chương trình minh hoạ

  • Các file được tạo

  • File Listing

  • Map File

  • Giải thích

  • Giải thích (cont)

  • Slide Number 15

  • Các chế độ bộ nhớ

  • Dạng lệnh

  • INT 21H

  • INT 21h (cont)

  • Thí dụ minh họa

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan