Hợp ngữ ASM-Chương 06-Nhập môn ASM

Chia sẻ: Son Cung | Ngày: | Loại File: PDF | Số trang:39

2
579
lượt xem
292
download

Hợp ngữ ASM-Chương 06-Nhập môn ASM

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tham khảo tài liệu 'hợp ngữ asm-chương 06-nhập môn asm', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả

Chủ đề:
Lưu

Nội dung Text: Hợp ngữ ASM-Chương 06-Nhập môn ASM

  1. h1 h2 Chöông 5 : Nhaäp moân Assembly Muïc tieâu Hieåu ngoân ngöõ maùy vaø ngoân ngöõ Assembly. Trình hô dò h A T ì h hôïp dòch Assembler.bl Lyù do nghieân cöùu Assembly. Hieu caùc thanh phaàn cô ban cuûa Assembly Hieåu cac thaønh phan baûn cua Naém ñöôïc caáu truùc cuûa 1 CT Assembly. 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. 5/13/2009 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 Giuùp khaùm phaù bí maät phaàn cöùng cuõng nhö phaàn meààm maùùy tính. í Naém ñöôïïc caùch p n cöùng MT laøm vieääc vôùi heää phaà ñieàu haønh vaø hieåu ñöôïc baèng caùch naøo 1 trình öùng duïng giao tieáp vôùi heä ñieàu haønh. 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. i hö öõ A bl i 5/13/2009 Chuong 5 Nhap mon ASM 2
  4. Assembler Moät chöông trình vieát baèng ngoân ngöõ Assembly muoán MT thöc hieän ñöôc ta phaûi chuyen thanh muon thöïc ñöôïc phai chuyeån thaønh ngoân ngöõ maùy. Chöông trình duøng ñeå dòch 1 file vieát baèng Assembly ngoân ngöõ maùy , goïïi laø Assembler. g g g Assembler. Coù 2 chöông trình dòch: MASM vaø TASM 5/13/2009 Chuong 5 Nhap mon ASM 3
  5. Ly do nghieân cöu Assembly Lyù nghien cöùu Ñoù laø caùch tot nhat ñeå hoc phaàn cöng MT Ño la cach toát nhaát ñe hoïc phan cöùng vaø heä ñieàu haønh. Vì caùc tieän ích cuûa noù . Coù theå nhuùng caùc chöông trình con vieát baè b èng ASM vaøøo trong caùùcchöông t ì h vieáát t höô trình i baèng ngoân ngöõ caáp cao . 5/13/2009 Chuong 5 Nhap mon ASM 4
  6. Leänh may maùy Laø 1 chuoåi nhò phaân coù yù nghóa ñaëc bieät – noù ra leänh cho C CPU thöïc hieän taùùc vuï. i Taùc vuï ñoù coù theå laø : di chuyeåån 1 soáá töø vò trí nhô nay sang vò trí nhô kh ù h tö ò t í hôù ø ò t í hôù khac. Coäng 2 soá hay so saùnh 2 soá. A AL A M A 5/13/2009 Chuong 5 Nhap mon ASM 5
  7. Leänh may (cont) maùy Taäp leänh maùy ñöôc ñònh nghóa tröôùc khi CPU ñöôc may ñöôïc tröôc, ñöôï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. Byte ñaàu B5 goïi laø Opcode 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 5/13/2009 Chuong 5 Nhap mon ASM 6
  8. Cach viet Caùch vieát 1 chöông trình Assembly Soaïïn CT Duøng 1 phaàn meàm soaïn thaûo VB baát kyø ñeå soan TenCT.ASM CT Assembly nhö : NotePad, NC, maøn hình C, 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 Object. Lieân keát CT duøng LINK ñeå lieân keát Object taïo taäp tin thöïc hieän .EXE Chaïy Chay CT Goû teân taäp tin thöïc hieän .EXE töø daáu nhaéc DOS ñeåå chaïy 5/13/2009 Chuong 5 Nhap mon ASM 7
  9. Dòch vaø noái keát chöông trình MASM E E T CT ASM T CT OBJ LINK E E T CT MAP T CT LIST T CT CRF T CT E E 5/13/2009 Chuong 5 Nhap mon ASM 8
  10. Moät chöông trình minh hoaï hoa DOSSEG MO D OFFSET MES .MODEL SMALL .STACK 100h MO AH .DATA INT MES DB “HELLO WORD”,’$’ MO AH CH .CODE CODE MAIN PROC INT MOV AX, @DATA MAIN ENDP MOV DS, AX END MAIN 5/13/2009 Chuong 5 Nhap mon ASM 9
  11. Cac file ñöôïc taïo Caùc ñöôc tao Sau khi dòch thanh coâng file nguoàn ASM ta co caùc file : thaønh cong nguon.ASM, coù cac File listing : file VB , caùc doøng coù ñaùnh soá thöù töï maõ. File Cross reference File Map File Obj Fil File EXE 5/13/2009 Chuong 5 Nhap mon ASM 10
  12. File Listing Microsoft (R) M Mi f Macro A Assembler V i 5.10 bl Version 10 10/11/4 Page 1-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 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 MAIN ♀◘Microsoft ♀◘Microsoft (R) Macro Assembler Version 5.10 10/11/4 5/13/2009 Chuong 5 Nhap mon ASM 11
  13. Map File Start Stop Length Name p g Class 00000H 0001FH 00020H _TEXT CODE 00020H 0002AH 0000BH _DATA DATA 00030H 0012FH 00100H STACK STACK Origin Group 0002:0 DGROUP Program entry p g y point at 0000:0010 5/13/2009 Chuong 5 Nhap mon ASM 12
  14. Giaûi thích .model small : duøng kieåu caáu truùc
  15. Giaûi thích (cont) Cheùp ñòa chæ ñoaïn döõ lieäu vaøo thanh ghi AX. Sau ñoù cheùp vaøo thanh ghi DS 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ùt khoûi CT . oat o C Main endp : ñaùnh daáu keát thuùc thuû tuïc End main : cham döt chöông trình chaám döùt 5/13/2009 Chuong 5 Nhap mon ASM 14
  16. Caáu truùc cuûa 1 CT ASM DOSSEG .MODEL kieåu boä nhôù .STACK kích thöôùc .DATA khai baùo bieán, haèng .CODE CODE MAIN PROC MOV AX, @DATA MOV DS,AX 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 , g INT 21H MAIN ENDP cac caùc chöông trình con khac neáu coù khaùc neu co END MAIN 5/13/2009 Chuong 5 Nhap mon ASM 15
  17. Caùc cheá ñoä boä nhôù Kieu Kieåu Mo ta 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 LARGE Maõ leänh nhieààu hôn 1 ñoaïn 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 5/13/2009 Chuong 5 Nhap mon ASM 16
  18. Daïng leänh Chuù thích [name] [operator] [ operand] [comment] Maõ leänh daïng Register, oâ nhôù Nhaõn, teân bieán gôïi nhôù Trò, haèng Teân thuû tuïc E MO C Moãi doøng chæ chöùa 1 leänh vaø moãi leänh LAP MO C phaûi naèèm treân 1 doøng LIST DB 5/13/2009 Chuong 5 Nhap mon ASM 17
  19. INT 21H 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. ngat cua va BIOS. Ngaét 21h g Muoán söû duïng haøm naøo cuûa INT 21h ta ñaët function_number vaøo thanh ghi AH, sau ñoù goïi INT 21h Function_number chöùc naêng 1 nhaäp 1 ky tö töø baøn phím kyù töï tö ban 2 Xuaát 1 kyù töï ra maø hình. 9 Xuaáát 1 chuoååi kyù töï ra maøn hình 5/13/2009 Chuong 5 Nhap mon ASM 18
  20. 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 5/13/2009 Chuong 5 Nhap mon ASM 19
Đồng bộ tài khoản