intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Nhập môn Assembly

Chia sẻ: Đỗ Hồng | Ngày: | Loại File: PDF | Số trang:39

120
lượt xem
17
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Hiểu ngôn ngữ máy và ngôn ngữ Assembly. Một chương trình viết bằng ngôn ngữ Assembly muôn máy tính thực hiện được ta phải chuyển thành ngôn ngữ máy

Chủ đề:
Lưu

Nội dung Text: Nhập môn Assembly

  1. h1 h2 Nhaä Nhaäp moân Assembly Muïc tieâu Hieåu ngoân ngöõ maùy vaø ngoân ngöõ Assembly. Trình hôïp dòch Assembler. Lyù do nghieân cöùu Assembly. Hieåu caùc thaønh phaàn cô baûn cuûa Assembly Naém ñöôïc caáu truùc cuûa 1 CT Assembly. Bieá Bieát vieát 1 chöông trình Assembly. Bieát caùch dòch, lieân keát vaø thöïc thi 1 chöông trình Assembly. 10/13/2010 Chuong 5 Nhap mon ASM 1
  2. Slide 1 h1 shjsahjsa huh, 10/13/2004 h2 ssasasasas huh, 10/13/2004
  3. Giôùi thieäu ngoân ngöõ Assembly Giôù Giuù Giuùp khaùm phaù bí maät phaàn cöùng cuõng nhö phaàn meàm maùy tính. Naé Naém ñöôïc caùch phaàn cöùng MT laøm vieäc vôùi heä ñieàu haønh vaø hieåu ñöôïc baèng caùch naøo 1 trình öùng duï duïng giao tieáp vôùi heä ñieàu haønh. Moä Moät MT hay moät hoï MT söû duïng 1 taäp leänh maõ maùy rieâng cuõng nhö 1 ngoân ngöõ Assembly rieâng. 10/13/2010 Chuong 5 Nhap mon ASM 2
  4. Assembler Assembler Moät chöông trình vieát baèng ngoân ngöõ Assembly muoán Moä MT thöïc hieän ñöôïc ta phaûi chuyeån thaønh ngoân ngöõ maùy. Chöông Chöông trình duøng ñeå dòch 1 file vieát baèng Assembly ngoâ ngoân ngöõ maùy , goïi laø Assembler. Coù 2 chöông trình dòch: MASM vaø TASM 10/13/2010 10/13/2010 Chuong 5 Nhap mon ASM 3
  5. Lyù do nghieân cöùu Assembly Lyù Ñoù Ñoù laø caùch toát nhaát ñeå hoïc phaàn cöùng MT vaø heä ñieàu haønh. Vì caùc tieän ích cuûa noù . Vì Coù theå nhuùng caùc chöông trình con vieát baèng Coù ASM vaøo trong caùcchöông trình vieát baèng ngoân ngöõ caáp cao . 10/13/2010 Chuong 5 Nhap mon ASM 4
  6. Leänh maùy Leä Laø 1 chuoåi nhò phaân coù yù nghóa ñaëc bieät – noù ra Laø leänh cho CPU thöïc hieän taùc vuï. Taùc vuï ñoù coù theå laø : Taù di chuyeån 1 soá töø vò trí nhôù naøy sang vò trí nhôù khaùc. Coäng 2 soá hay so saùnh 2 soá. 00000100 Add a number to the AL register 10000101 Add a number to a variable 10100011 Move the AX reg to another reg 10/13/2010 Chuong 5 Nhap mon ASM 5
  7. Leänh maùy (cont) Leä Taä Taäp leänh maùy ñöôïc ñònh nghóa tröôùc, khi CPU ñöôïc saûn xuaát vaø noù ñaëc tröng cho kieåu CPU . Ex : B5 05 laø 1 leänh maùy vieát daïng soá hex, daøi 2 byte. Ex Byte Byte ñaàu B5 goïi laø Opcode Byte Byte sau 05 goïi laø toaùn haïng Operand YÙù nghóa cuûa leänh B5 05 : cheùp giaù trò 5 vaøo reg AL 10/13/2010 10/13/2010 Chuong 5 Nhap mon ASM 6
  8. Caùch vieát 1 chöông trình Assembly Caù Duøng 1 phaàn meàm soaïn thaûo VB baát kyø ñeå soan Soaïn CT CT Assembly nhö : NotePad, NC, maøn hình C, TenCT.ASM Pascal ... CT coù phaàn môû roäng laø .ASM Dòch CT duøng MASM ñeå dòch chöông trình nguoàn .ASM File File Object. duøng LINK ñeå lieân keát Object taïo taäp tin thöïc Lieân keát CT hieän .EXE Goû teân taäp tin thöïc hieän .EXE töø daáu nhaéc DOS Chaïy CT ñeå chaïy 10/13/2010 Chuong 5 Nhap mon ASM 7
  9. Dòch Dòch vaø noái keát chöông trình MASM.EXE TenCT .ASM TenCT .OBJ LINK.EXE TenCT .CRF TenCT .MAP TenCT .LIST TenCT .EXE 10/13/2010 Chuong 5 Nhap mon ASM 8
  10. Moät chöông trình minh hoaï Moä DOSSEG MOV DX, OFFSET MES .MODEL SMALL MOV AH, 9 .STACK 100h INT 21h .DATA MES DB “HELLO WORD”,’$’ MOV AH,4CH .CODE INT 21h MAIN PROC MAIN ENDP MOV AX, @DATA MOV DS, AX END MAIN 10/13/2010 Chuong 5 Nhap mon ASM 9
  11. Caù Caùc file ñöôïc taïo Sau Sau khi dòch thaønh coâng file nguoàn.ASM, ta coù caùc file : File File listing : file VB , caùc doøng coù ñaùnh soá thöù töï maõ. File File Cross reference File File Map File File Obj File File EXE 10/13/2010 Chuong 5 Nhap mon ASM 10
  12. File File Listing Microsoft Microsoft (R) Macro Assembler Version 5.10 10/11/4 Page 1- Page 1-1 1 DOSSEG DOSSEG 2 .MODEL .MODEL SMALL 3 .STACK .STACK 100H 4 .DATA .DATA 5 0000 48 45 4C 4C 4F 20 0000 MES DB "HELLO WORD$" 6 57 57 4F 52 44 24 7 .CODE .CODE 8 0000 0000 MAIN PROC 9 0000 B8 ---- R 0000 MOV AX,@DATA 10 10 0003 8E D8 MOV DS, AX 11 11 0005 B4 09 MOV AH,9 12 12 0007 BA 0000 R MOV DX, OFFSET MES 13 13 000A CD 21 INT 21H 14 14 000C B4 4C MOV AH,4CH 15 15 000E CD 21 INT 21H 16 16 0010 MAIN ENDP 17 17 END MAIN ♀◘Microsoft (R) Macro Assembler Version 5.10 10/11/4 ♀◘ 10/13/2010 Chuong 5 Nhap mon ASM 11
  13. Map Map File Start Start Stop Length Name Class 00000H 00000H 0001FH 00020H _TEXT CODE 00020H 00020H 0002AH 0000BH _DATA DATA 00030H 00030H 0012FH 00100H STACK STACK Origin Origin Group 0002:0 0002:0 DGROUP Program Program entry point at 0000:0010 10/13/2010 Chuong 5 Nhap mon ASM 12
  14. Giaû Giaûi thích .model .model small : duøng kieåu caáu truùc
  15. Giaû Giaûi thích (cont) Cheùp ñòa chæ ñoaïn döõ lieäu vaøo thanh ghi AX. Cheù Sau Sau ñoù cheùp vaøo thanh ghi DS Goï Goïi haøm soá 9 cuûa Int 21h cuûa Dos ñeå xuaát chuoåi kyù töï ra maøn hình. Thoaù Thoaùt khoûi CT . Main Main endp : ñaùnh daáu keát thuùc thuû tuïc End main : chaám döùt chöông trình End 10/13/2010 Chuong 5 Nhap mon ASM 14
  16. Caáu truùc cuûa 1 CT ASM Caá DOSSEG kieå .MODEL kieåu boä nhôù .STACK kích thöôùc .DATA khai baùo bieán, haèng .CODE MAIN PROC MOV AX, @DATA MOV DS,AX caùc leänh cuûa chöông trình chính MOV AH,4CH ; Thoaùt khoûi chöông trình INT 21H MAIN ENDP caùc chöông trình con khaùc neáu coù END MAIN 10/13/2010 Chuong 5 Nhap mon ASM 15
  17. Caùc cheá ñoä boä nhôù Caù Kieåu Moâ taû SMALL Maõ leänh trong 1 ñoaïn.Döõ lieäu trong 1 ñoaïn MEDIUM Maõ leänh nhieàu hôn 1 ñoaïn.Döõ lieäu trong 1 ñoaïn COMPACT Maõ leänh trong 1 ñoaïn. Döõ lieäu nhieàu hôn 1 ñoaïn Maõ leänh nhieàu hôn 1 ñoaïn LARGE Döõ lieäu nhieàu hôn 1 ñoaïn,khoâng coù maûng naøo > 64K HUGE Maõ leänh nhieàu hôn 1 ñoaïn Döõ lieäu nhieàu hôn 1 ñoaïn, maûng coù theå > 64K 10/13/2010 Chuong 5 Nhap mon ASM 16
  18. Daï Daïng leänh Chuù thích [name] [name] [operator] [ operand] [comment] Maõ leänh daïng Register, oâ nhôù Nhaõn, teân bieán Nhaõ gôïi nhôù Trò, haèng Teân thuû tuïc Ex : MOV CX , 0 Moãi doøng chæ chöùa 1 leänh vaø moãi leänh phaûi naèm treân 1 doøng LAP : MOV CX, 4 LIST DB 1,2,3,4 10/13/2010 Chuong 5 Nhap mon ASM 17
  19. INT INT 1H Leä Leänh INT soá hieäu ngaét ñöôïc duøng ñeå goïi chöông trình ngaét cuûa DOS vaø BIOS. BIOS. Ngaét 21h Muoán söû duïng haøm naøo cuûa INT 21h ta ñaët function_number function_number vaøo thanh ghi AH, sau ñoù goïi INT 21h chöùc naêng Function_number nhaäp 1 kyù töï töø baøn phím 1 Xuaát 1 kyù töï ra maø hình. 2 9 Xuaát 1 chuoåi kyù töï ra maøn hình 10/13/2010 Chuong 5 Nhap mon ASM 18
  20. INT INT 21h (cont) Haøm 1 : Nhaäp 1 kyù töï Input : AH =1 Output : AL = maõ ASCCI cuûa phím aán = 0 neáu 1 phím ñieàu khieåân ñöôïc aán Haøm 2 : Hieån thò 1 kyù töï ra maøn hình Input : AH =2 DL = Maõ ASCII cuûa kyù töï hieån thò hay kyù töï ñieàu khieån 10/13/2010 Chuong 5 Nhap mon ASM 19
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2