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

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

Chia sẻ: Tranthi Kimuyen | Ngày: | Loại File: PDF | Số trang:38

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

Tham khảo bài thuyết trình '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', 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: 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

  1. 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. 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 ch Assembly. 22/08/2011 Chuong 5 Nhap mon ASM 1 22/08/2011
  2. 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.  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 öù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 nh maùy rieâng cuõng nhö 1 ngoân ngöõ Assembly rieâng. 22/08/2011 Chuong 5 Nhap mon ASM 2 22/08/2011
  3. Assembler  Moät chöông trình vieát baèng ngoân ngöõ Assembly ng muoán MT thöïc hieän ñöôïc ta phaûi chuyeån thaønh nh ngoân ngöõ maùy. y.  Chöông trình duøng ñeå dòch 1 file vieát baèng Assembly ng ng  ngoân ngöõ maùy , goïi laø Assembler. Coù 2 chöông trình dòch: MASM vaø TASM 22/08/2011 Chuong 5 Nhap mon ASM 3 22/08/2011
  4. Lyù do nghieân cöùu Assembly  Ñoù laø caùch toát nhaát ñeå hoïc phaàn cöùng MT ch ng vaø heä ñieàu haønh. 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 ng cch baèng ngoân ngöõ caáp cao . ng 22/08/2011 Chuong 5 Nhap mon ASM 4 22/08/2011
  5. Leänh maùy nh  Laø 1 chuoåi nhò phaân coù yù nghóa ñaëc bieät – noù ra leänh cho CPU thöïc hieän taùc vuï. 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 22/08/2011 Chuong 5 Nhap mon ASM 5 22/08/2011
  6. Leänh maùy (cont) nh  Taäp leänh maùy ñöôïc ñònh nghóa tröôùc, khi CPU ñöôïc nh 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. nh ng  Byte ñaàu B5 goïi laø Opcode  Byte sau 05 goïi laø toaùn haïng Operand ng YÙù ùnghóa cuûa leänh B5 05 ::cheùp giaù trò 5 vaøo reg AL YÙ nghóa cuûa leänh B5 05 cheùp giaù trò 5 vaøo reg AL 22/08/2011 Chuong 5 Nhap mon ASM 6 22/08/2011
  7. 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 22/08/2011 Chuong 5 Nhap mon ASM 7 22/08/2011
  8. 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 22/08/2011 Chuong 5 Nhap mon ASM 8 22/08/2011
  9. 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”,’$’ MOV AH,4CH .CODE INT 21 MAIN PROC MAIN ENDP MOV AX, @DATA MOV DS, AX END MAIN 22/08/2011 Chuong 5 Nhap mon ASM 9 22/08/2011
  10. Caùc file ñöôïc taïo 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  22/08/2011 Chuong 5 Nhap mon ASM 10 22/08/2011
  11. 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  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 22/08/2011 Chuong 5 Nhap mon ASM 11 22/08/2011
  12. 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 22/08/2011 Chuong 5 Nhap mon ASM 12 22/08/2011
  13. Giaûi thích  .model small : duøng kieåu caáu truùc
  14. 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 .  Main endp : ñaùnh daáu keát thuùc thuû tuïc nh  End main : chaám döùt chöông trình  22/08/2011 Chuong 5 Nhap mon ASM 14 22/08/2011
  15. 22/08/2011 Chuong 5 Nhap mon ASM 15 22/08/2011
  16. 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 nh n.D MEDIUM Maõ leänh nhieàu hôn 1 ñoaïn.Döõ lieäu trong 1 ñoaïn nh n.D COMPACT Maõ leänh trong 1 ñoaïn. Döõ lieäu nhieàu hôn 1 ñoaïn nh n. LARGE Maõ leänh nhieàu hôn 1 ñoaïn nh Döõ lieäu nhieàu hôn 1 ñoaïn,khoâng coù maûng naøo > n,khoâ ng 64K HUGE Maõ leänh nhieàu hôn 1 ñoaïn nh Döõ lieäu nhieàu hôn 1 ñoaïn, maûng coù theå > 64K n, ng 22/08/2011 Chuong 5 Nhap mon ASM 16 22/08/2011
  17. Daïng leänh ng nh Chuù thích Chuù thích  [name] [operator] [ operand] [comment] Maõ leänh daïng Maõ leänh daïng Register, oâ nhôù Nhaõn, ,teân bieán Nhaõn teân bieán Register, oâ nhôù gôïiinhôù gôï nhôù Trò, haèng Teân thuû tuïcc Teân thuû tuï Trò, haèng Moãi doøng chæ chöùa 1 leänh vaø moãi leänh Ex : MOV CX , 0 phaûi naèm treân 1 doøng LAP : MOV CX, 4 LIST DB 1,2,3,4 22/08/2011 Chuong 5 Nhap mon ASM 17 22/08/2011
  18. INT 21H  Leänh INT soá hieäu ngaét ñöôïc duøng ñeå goïi nh ng chöông trình ngaét cuûa DOS vaø BIOS. 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 22/08/2011 Chuong 5 Nhap mon ASM 18 22/08/2011
  19. 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 22/08/2011 Chuong 5 Nhap mon ASM 19 22/08/2011
  20. Thí duï minh hoïa DOSSEG MOV AH,2 .MODEL SMALL MOV DL, 0DH .STACK 100H INT 21H .CODE MOV DL , 0AH MAIN PROC INT 21H MOV AH , 2 MOV DL , BL MOV DL , ‘?’ INT 21H INT 21H MOV AX , 4C00H MOV AH ,1 INT 21H INT 21H MAIN ENDP MOV BL,AL END MAIN ?N KEÁT QUAÛ N 22/08/2011 Chuong 5 Nhap mon ASM 20 22/08/2011
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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