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

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

Chia sẻ: Nguyễn Nhi | Ngày: | Loại File: PDF | Số trang:39

172
lượt xem
51
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. Trình hợp dịch Assembler. Lý do nghiên cứu Assembly. Hiểu các thành phần cơ bản của Assembly nh Nắm được cấu trúc của 1 CT Assembly. Biết viết 1 chương trình Assembly. Biết cách dịch, liên kết và thực thi 1 chương trình ch Assembly.

Chủ đề:
Lưu

Nội dung Text: Cấu trúc Máy tính và Lập trình Assembly - Chương 6

  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ôï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 nh Naém ñöôïc caáu truùc cuûa 1 CT Assembly. ñö CT Bieát vieát 1 chöông trình Assembly. Bie Bieát caùch dòch, lieân keát vaø thöïc thi 1 chöông trình ch nh Assembly. 7/31/2011 Chuong 5 Nhap mon ASM 1 7/31/2011
  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 ng meàm maùy tính. me  Naém ñöôïc caùch phaàn cöùng MT laøm vieäc vôùi heä ñö ch ng ñieàu haønh vaø hieåu ñöôïc baèng caùch naøo 1 trình nh ñö ng ch nh öùng duïng giao tieáp vôùi heä ñieàu haønh. öùng ng nh.  Moät MT hay moät hoï MT söû duïng 1 taäp leänh maõ ng maùy rieâng cuõng nhö 1 ngoân ngöõ Assembly rieâng. ma 7/31/2011 Chuong 5 Nhap mon ASM 2 7/31/2011
  4. Assembler  Moät chöông trình vieát baèng ngoân ngöõ Assembly ng Assembly muoán MT thöïc hieän ñöôïc ta phaûi chuyeån thaønh muo ñö ngoân ngöõ maùy. ngoâ  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. Coù 2 chöông trình dòch: MASM vaø TASM 7/31/2011 Chuong 5 Nhap mon ASM 3 7/31/2011
  5. Lyù do nghieân cöùu Assembly  Ñoù laø caùch toát nhaát ñeå hoïc phaàn cöùng MT ch vaø heä ñieàu haønh. va nh.  Vì caùc tieän ích cuûa noù .  Coù theå nhuùng caùc chöông trình con vieát ng baèng ASM vaøo trong caùcchöông trình vieát ba ng cch baèng ngoân ngöõ caáp cao . ba ng 7/31/2011 Chuong 5 Nhap mon ASM 4 7/31/2011
  6. Leänh maùy nh  Laø 1 chuoåi nhò phaân coù yù nghóa ñaëc bieät – noù ra ra leänh cho CPU thöïc hieän taùc vuï. le nh  Taùc vuï ñoù coù theå laø : di chuyeån 1 soá töø vò trí nhôù naøy sang vò trí nhôù khaùc. c. Coäng 2 soá hay so saùnh 2 soá. ng nh 00000100 Add a number to the AL register 10000101 Add a number to a variable 10100011 Move the AX reg to another reg 7/31/2011 Chuong 5 Nhap mon ASM 5 7/31/2011
  7. Leänh maùy (cont) nh  Taäp leänh maùy ñöôïc ñònh nghóa tröôùc, khi CPU ñöôïc nh ñö ñö saûn xuaát vaø noù ñaëc tröng cho kieåu CPU . sa  Ex : B5 05 laø 1 leänh maùy vieát daïng soá hex, daøi 2 byte. nh ng  Byte ñaàu B5 goïi laø Opcode Byte Opcode  Byte sau 05 goïi laø toaùn haïng Operand ng YÙù Ùùnghóóacuûa leänh B5 05 ::cheùp giaù ùtrò 5 vaøo reg AL Y ngha cuûa leänh B5 05 cheùp gia trò 5 vaøo reg AL 7/31/2011 Chuong 5 Nhap mon ASM 6 7/31/2011
  8. Caùch vieát 1 chöông trình Assembly ch 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 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 Chaïy CT DOS ñeå chaïy 7/31/2011 Chuong 5 Nhap mon ASM 7 7/31/2011
  9. Dòch vaø noái keát chöông trình MASM.EXE MASM.EXE TenCT .ASM TenCT .OBJ LINK.EXE LINK.EXE TenCT .CRF TenCT .MAP TenCT .LIST TenCT .EXE TenCT .EXE 7/31/2011 Chuong 5 Nhap mon ASM 8 7/31/2011
  10. Moät chöông trình minh hoaï DOSSEG MOV DX, OFFSET MES .MODEL SMALL MOV AH, 9 .STACK 100h INT 21 .DATA MES DB “HELLO WORD”,’$’ MES MOV AH,4CH .CODE INT 21 MAIN PROC MAIN ENDP MOV AX, @DATA MOV DS, AX END MAIN 7/31/2011 Chuong 5 Nhap mon ASM 9 7/31/2011
  11. Caùc file ñöôïc taïo file ñö Sau khi dòch thaønh coâng file nguoàn.ASM, ta coù caùc file :  nh n.ASM, File listing : file VB , caùc doøng coù ñaùnh soá thöù töï maõ.  ng nh File Cross reference  File Map  File Obj  File EXE  7/31/2011 Chuong 5 Nhap mon ASM 10 7/31/2011
  12. File Listing  Microsoft (R) Macro Assembler Version 5.10 10/11/4  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 0000 ----  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 (R) Macro Assembler Version 5.10 10/11/4 7/31/2011 Chuong 5 Nhap mon ASM 11 7/31/2011
  13. Map File  Start Stop Length Name Class  00000H 0001FH 00020H _TEXT CODE  00020H 0002AH 0000BH _DATA DATA  00030H 0012FH 00100H STACK STACK  Origin Group  0002:0 DGROUP  Program entry point at 0000:0010 7/31/2011 Chuong 5 Nhap mon ASM 12 7/31/2011
  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  Sau Goïi haøm soá 9 cuûa Int 21h cuûa Dos ñeå xuaát  Dos chuoåi kyù töï ra maøn hình. chuo Thoaùt khoûi CT .  Main endp : ñaùnh daáu keát thuùc thuû tuïc  Main nh End main : chaám döùt chöông trình  7/31/2011 Chuong 5 Nhap mon ASM 14 7/31/2011
  16. Caáu truùc cuûa 1 CT ASM DOSSEG .MODEL kieåu boä nhôù .MODEL kie .STACK kích thöôùc .DATA khai baùo bieán, haèng n, ng .CODE MAIN PROC MOV AX, @DATA MOV DS,AX caùc leänh cuûa chöông trình chính 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 7/31/2011 Chuong 5 Nhap mon ASM 15 7/31/2011
  17. Caùc cheá ñoä boä nhôù Kieåu Moâ taû SMALL Maõ leänh trong 1 ñoaïn.Döõ lieäu trong 1 ñoaïn n.D trong MEDIUM Maõ leänh nhieàu hôn 1 ñoaïn.Döõ lieäu trong 1 ñoaïn nh hôn n.D trong COMPACT Maõ leänh trong 1 ñoaïn. Döõ lieäu nhieàu hôn 1 ñoaïn n. hôn LARGE Maõ leänh nhieàu hôn 1 ñoaïn nh hôn Döõ lieäu nhieàu hôn 1 ñoaïn,khoâng coù maûng naøo > hôn n,khoâ ng 64K 64K HUGE Maõ leänh nhieàu hôn 1 ñoaïn nh hôn Döõ lieäu nhieàu hôn 1 ñoaïn, maûng coù theå > 64K hôn n, ng 7/31/2011 Chuong 5 Nhap mon ASM 16 7/31/2011
  18. Daïng leänh ng nh Chuù thích Chuù thích  [name] [operator] [ operand] [comment] [name] Maõ leänh daïng Maõ leänh daïng Register, oâ nhôù ù Register, oâ nhô Nhaõn, ,teân bieán Nhaõn teân bieán gôïiïinhôù ù gô nhô Trò, haèng Teân thuû tuïcc Teân thuû tuï Trò, haèng Ex : MOV CX , 0 Moãi doøng chæ chöùa 1 leänh vaø moãi leänh LAP : MOV CX, 4 phaûi naèm treân 1 doøng LIST DB 1,2,3,4 7/31/2011 Chuong 5 Nhap mon ASM 17 7/31/2011
  19. INT 21H  Leänh INT soá hieäu ngaét ñöôïc duøng ñeå goïi nh ñö chöông trình ngaét cuûa DOS vaø BIOS. ch Ngaét 21h 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 2 Xuaát 1 kyù töï ra maø hình. 9 Xuaát 1 chuoåi kyù töï ra maøn hình 7/31/2011 Chuong 5 Nhap mon ASM 18 7/31/2011
  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 7/31/2011 Chuong 5 Nhap mon ASM 19 7/31/2011
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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