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 3

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

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

Chương trình gỡ rối Debug Dịch được 1 chương trình ngắn Xem các thanh ghi và cờ của CPU Xem sự thay đổi nội dung của các biến o ớ ặc ASCII trong bộ nhơ ho a ơ a m trị ở dạng nhị phân o Dò tì ssembly nh bằng A ì chương tr tập viết ỗ trợ luyện H

Chủ đề:
Lưu

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

  1. CHÖÔNG TRÌNH GÔÕ ROÁI DEBUG Muïc tieâu Dòch ñöôïc 1 chöông trình ngaén Dòch ñö Xem caùc thanh ghi vaø côø cuûa CPU Xem söï thay ñoåi noäi dung cuûa caùc bieán thay ôù aëc ASCII trong boä nh ho m trò ôû daïng nhò phaân Doø tì ssembly nh baèng A ì chöông tr taäp vieát oã trôï luyeän H 7/31/2011 1 7/31/2011 Chuong 3 Debug
  2. Daïng leänh cuûa Debug ng nh nh Trong ñoù maõ leänh laø 1 trong caùc chöõ A,B,C,D,E, ... coøn thoâng soá thì thay ñoåi tuøy theo leänh. Caùc thoâng soá coù theå laø : Ñòa chæ : laø 1 boä ñòa chæ ñaày ñuû segment : offset hay chæ caàn offset laø ñuû. Segment coù theå duøng teân thanh ghi. Ex : F000:0100 DS: 200 0AF5 7/31/2011 2 7/31/2011 Chuong 3 Debug
  3. Daïng leänh cuûa Debug ng Taäp tin : laø 1 tham khaûo teân taäp tin ñaày ñuû, ít nhaát phaûi coù teân taäp tin. Danh saùch : Laø 1 hay nhieàu trò byte hoaëc chuoåi caùch nhau baèng daáu phaåy. Khoaûng : laø 1 tham khaûo ñeán vuøng boä nhôù Trò : laø 1 soá heä 16 coù toái ña coù 4 chöõ soá 7/31/2011 3 7/31/2011 Chuong 3 Debug
  4. Taäp leänh cuûa Debug nh A : cho pheùp vieát töø baøn phím caùc leänh maõ maùy nh döôùi daïng gôïi nhôù. ng A [ ] Ex : - A 100 dòch ôû ñòa chæ CS:100h Ex -A dòch ôû ñòa chæ hieän taïi dòch (Debug laáy ñòa chæ ñoaïn CS) - A DS:2000h DS:2000h dòch ôû ñòa chæ DS:2000h dòch 7/31/2011 4 7/31/2011 Chuong 3 Debug
  5. Thí duï minh hoïa leänh A nh Phaûi nhaäp leänh vaøo theo töøng doøng moät vaø nh ng ng keát thuùc baèng Enter. ng Keát thuùc nhaäp nhaán Enter ôû doøng troáng. ng ng. Ex : - A 100 Ex User goû vaøo 5514:0100 MOV AH, 2 5514:0102 MOV DL, 41 5514:0104 INT 21H SEGMENT OFFSET 7/31/2011 5 7/31/2011 Chuong 3 Debug
  6. C (Compare) So saùnh 2 vuøng boä nhôù vaø lieät keâ caùc oâ nhôù coù nh ng noäi dung khaùc nhau. Cuù phaùp : C , < ñòa chæ> Ex : - C 100, 200, 3000 : 1000 So saùnh oâ nhôù DS:100h vôùi oâ nhôù 3000:1000h, oâ nhôù DS:101h vôùi oâ nhôù 3000:1001h….. Cho ñeán oâ nhôù DS :200h vôùi oâ nhôù 3000:1100h.  So saùnh 101 bytes 7/31/2011 6 7/31/2011 Chuong 3 Debug
  7. D (Dump) Hieän noäi dung boä nhôù theo daïng heä 16 vaø ng ASCII. Caùch goïi : D Ex : - D F000 : 0 - D ES : 100 - D 100 7/31/2011 7 7/31/2011 Chuong 3 Debug
  8. Leänh F (Fill) nh Cuù phaùp : F ng> ch> Coâng duïng : laáp ñaày trò vaøo vuøng nhôù ngay ng ng ngay taïi ñòa chæ mong muoán. ta n. Trò nhaäp vaøo töøng byte moät theo heä 16 Daáu tröø (-) duøng ñeå luøi laïi 1 ñòa chæ. SPACE BAR duøng ñeå tôùi 1 ñòa chæ. ENTER ñeå keát thuùc. 7/31/2011 8 7/31/2011 Chuong 3 Debug
  9. Minh hoïa leänh F nh Laép ñaày vuøng nhôù taïi ñòa chæ offset 100h La ng offset chuoåi “ Toi dua em sang song”. chuo F 100 “TOI DUA EM SANG SONG” OFFSET 100H 7/31/2011 9 7/31/2011 Chuong 3 Debug
  10. KEÁT QUAÛ -F 100 "TOI DUA EM SANG SONG" -D 100 0ADD:0100 54 4F 49 20 44 55 41 20-45 4D 20 53 41 4E 47 20 TOI DUA EM SANG 0ADD:0110 53 4F 4E 47 54 4F 49 20-44 55 41 20 45 4D 20 53 SONGTOI DUA EM S 0ADD:0120 41 4E 47 20 53 4F 4E 47-54 4F 49 20 44 55 41 20 ANG SONGTOI DUA 0ADD:0130 45 4D 20 53 41 4E 47 20-53 4F 4E 47 54 4F 49 20 EM SANG SONGTOI 0ADD:0140 44 55 41 20 45 4D 20 53-41 4E 47 20 53 4F 4E 47 DUA EM SANG SONG 0ADD:0150 54 4F 49 20 44 55 41 20-45 4D 20 53 41 4E 47 20 TOI DUA EM SANG 0ADD:0160 53 4F 4E 47 54 4F 49 20-44 55 41 20 45 4D 20 53 SONGTOI DUA EM S 0ADD:0170 41 4E 47 20 53 4F 4E 47-54 4F 49 20 44 55 41 20 ANG SONGTOI DUA 7/31/2011 10 7/31/2011 Chuong 3 Debug
  11. D (DUMP) Muïc ñích : in noäi dung boä nhôù trong MT ra maøn hình döôùi daïng soá hex. Cuù phaùp : D [ address] D [range] Ex : in noäi dung vuøng nhôù ñaõ laép ñaày ôû ví duï tröôùc ôû ñòa chæ 100h Ex2 : xem noäi dung vuøng nhôù 16 bytes baét ñaàu ôû ñòa chæ F000:100 - D F000:100 L10 7/31/2011 11 7/31/2011 Chuong 3 Debug
  12. Thí duï minh hoïa leänh D nh ñaùnh vaøo leänh D ñeå xem noäi dung vuøng nhôù nh ng cuûa 30h bytes boä nhôù töø ñòa chæ 0000:0040 0000:0040 ñeán 0000:006F - D 0000:0040 006F Ñòa chæ baét ñaàu - D 0000:0040 L 30 Soá bytes 7/31/2011 12 7/31/2011 Chuong 3 Debug
  13. E (ENTER) Duøng ñeå ñöa döõ lieäu byte vaøo boä nhôù ngay ngay taïi ñòa chæ mong muoán. ta n. Caùch goïi : - E Trò nhaäp vaøo theo daïng soá 16 töøng byte moät Daáu - duøng ñeå luøi laïi 1 ñòa chæ Space Bar duøng ñeå tôùi 1 ñòa chæ Enter duøng ñeå keát thuùc 7/31/2011 13 7/31/2011 Chuong 3 Debug
  14. Minh hoïa leänh E Muïc dích : thay ñoåi noäi dung boä nhôù. Mu ch Cuù phaùp : - E [address] [ list] Ex : thay ñoåi 6 bytes baét ñaàu ôû ñòa chæ 100 thaønh “ABCDE” - E 100 “ABCDE” Debug laáy ñoaïn chæ b ôûi DS Neáu ta kh oâng qui ñò nh ñòa chæ ñoaïn 7/31/2011 14 7/31/2011 Chuong 3 Debug
  15. Leänh U (Unassemble) coâng duïng : in ra 32 bytes maõ maùy cuûa ng chöông trình trong boä nhôù ra maøn hình döôùi ch leänh gôïi nhôù. le nh cuù phaùp : U [address] [address] U [range] Ex : U 100 119 In ra ma øn h ì n h c a ùc chæ CS:1 leänh maõ maùy tö 00 ñeán C ø ñòa S:119 7/31/2011 15 7/31/2011 Chuong 3 Debug
  16. Leänh R (Register) nh Coâng duïng : xem vaø söûa noäi dung thanh ghi. ng Cuù phaùp : - R enter (xem taát caû thanh ghi) xem thanh ghi AX : - R AX xem AX xem thanh ghi côø : R F xem Ex : muoán baät thanh ghi côø CF vaø ZF ta nhaäp CY vaø ZR. CY 7/31/2011 16 7/31/2011 Chuong 3 Debug
  17. Leänh N (Name) nh Coâng duïng : taïo taäp tin caàn ñoïc hay ghi tröôùc ng khi duøng leänh L hay W. khi ng nh Cuù phaùp : - N [ thoâng soá] L [ñòa chæ] 7/31/2011 17 7/31/2011 Chuong 3 Debug
  18. Thí duï minh hoïa leänh N nh Ex : taïo taäp tin Love.txt . Duøng leänh R ñeå xaùc ñònh vuøng ñòa chæ daønh cho User. Duøng leänh ñeå ñöa caâu thoâng baùo “ I love you more than I can say’ ôû ñòa chæ 2000:100. Duøng leänh D ñeå kieåm tra vuøng nhôù taïi ñòa chæ 2000:100. Duøng leänh N ñeå ñaët teân taäp tin treân ñóa. - N Love.txt Duøng leänh R ñeå ñònh soá byte caàn thieát ghi leân ñóa trong 2 thanh ghi BX vaø CX. Cuï theå trong tröôøng hôïp naøy soá byte caàn ghi laø 1Eh byte. BX = 0000 CX = 1E Duøng leänh W 2000:100 ñeå ghi döõ lieäu ñaõ nhaäp vaøo taäp tin ôû ñòa chæ boä nhôù 2000:100. 7/31/2011 18 7/31/2011 Chuong 3 Debug
  19. Thoaùt khoûi Debug vaø goïi laïi taäp tin tin theo caùch sau : theo C :\> Debug Love.txt tìm xem Debug ñaõ naïp taäp tin Love.txt xem tin vaøo choã naøo trong boä nhôù. va 7/31/2011 19 7/31/2011 Chuong 3 Debug
  20. Leänh W (Write) nh Cuù phaùp : W [address] Thöôøng ñöôïc söû duïng chung vôùi leänh N Ex : taïo taäp tin coù teân Love.txt Böôùc 1 : duøng leänh E ñeå ñöa caâu ‘I love you more than I can say” vaøo oâ nhôù ôû ñòa chæ 100. Böôùc 2 : duøng leänh D ñeå kieåm tra laïi ñòa chæ 100 Böôùc 3 : duøng leänh N ñeå ñaët teân taäp tin : - N Love.txt Böôùc 4 : duøng leänh R ñeå ñònh soá byte caàn ghi leân ñóa trong 2 thanh ghi BX vaø CX. (BX chöùa 16 bit cao, CX chöùa 16 bit thaáp). Ôû ñaây soá byte caàn ghi laø 1Eh. Böôùc 5 : duøng leänh W ñeå ghi caâu treân ñaõ nhaäp vaøo vuøng nhôù coù ñòa chæ baét ñaàu laø 100. 7/31/2011 20 7/31/2011 Chuong 3 Debug
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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