1. Trang chủ
  2. » Công Nghệ Thông Tin

CẤU TRÚC MÁY TÍNH LẬP TRÌNH HỢP NGỮ_CHƯƠNG 3 ppsx

30 1K 3

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 30
Dung lượng 5,78 MB

Nội dung

22/08/2011 22/08/2011 Chuong 3 Debug Chuong 3 Debug 1 1 CH CH ệ ệ ễNG TRèNH Gễế RO ễNG TRèNH Gễế RO I DEBUG I DEBUG Dũch Dũch ủử ủử ụ ụ ù ù c 1 ch c 1 ch ử ử ụng tr ụng tr ỡ ỡ nh nga nh nga ộ ộ n n Muùc tieõu Xem ca Xem ca ự ự c thanh ghi va c thanh ghi va ứ ứ cụ cụ ứ ứ cu cu ỷ ỷ a CPU a CPU Xem s Xem s ửù ửù thay thay ủ ủ o o ồ ồ i no i no ọ ọ i dung cu i dung cu ỷ ỷ a ca a ca ự ự c bie c bie ỏ ỏ n n D o D o ứ ứ t t ỡ ỡ m t r ũ ụ m t r ũ ụ ỷ ỷ d a d a ù ù n g n h ũ p h a õ n h o a n g n h ũ p h a õ n h o a ở ở c A S C II t r o n g b o c A S C II t r o n g b o ọ ọ n h ụ n h ụ ự ự H o ó H o ó t r ụ ù l u y e ọ n t a ọ p v i e ỏ t c h ử ụ n g t r ỡ n h b a ố n g A s s e m b l y 22/08/2011 22/08/2011 Chuong 3 Debug Chuong 3 Debug 2 2 Da Da ï ï ng le ng le ä ä nh cu nh cu û û a Debug a Debug <mã le <mã le ä ä nh > <thông so nh > <thông so á á > > Trong đó mã lệnh là 1 trong các chữ A,B,C,D,E, còn thông số thì thay đổi tùy theo lệnh. Các thông số có thể là : Đòa chỉ : là 1 bộ đòa chỉ đầy đủ segment : offset hay chỉ cần offset là đủ. Segment có thể dùng tên thanh ghi. Ex : F000:0100 DS: 200 0AF5 22/08/2011 22/08/2011 Chuong 3 Debug Chuong 3 Debug 3 3 Da Da ï ï ng ng le le ä ä nh cu nh cu û û a Debug a Debug Tập tin : là 1 tham khảo tên tập tin đầy đủ, ít nhất phải có tên tập tin. Danh sách : Là 1 hay nhiều trò byte hoặc chuổi cách nhau bằng dấu phẩy. Khoảng : là 1 tham khảo đến vùng bộ nhớ Trò : là 1 số hệ 16 có tối đa có 4 chữ số 22/08/2011 22/08/2011 Chuong 3 Debug Chuong 3 Debug 4 4 Ta Ta ọ ọ p le p le ọ ọ nh cu nh cu ỷ ỷ a Debug a Debug A <Assemble> : A <Assemble> : cho phe cho phe ự ự p vie p vie ỏ ỏ t t t t ửứ ửứ ba ba ứ ứ n ph n ph ớ ớ m ca m ca ự ự c le c le ọ ọ nh maừ ma nh maừ ma ự ự y y d d ử ử ụ ụ ự ự i da i da ù ù ng gụ ng gụ ù ù i nhụ i nhụ ự ự . . A [ < A [ < ủ ủ ũa ch ũa ch ổ ổ >] >] Ex : Ex : - - A 100 dũch ụ A 100 dũch ụ ỷ ỷ ủ ủ ũa ch ũa ch ổ ổ CS:100h CS:100h - - A A dũch ụ dũch ụ ỷ ỷ ủ ủ ũa ch ũa ch ổ ổ hie hie ọ ọ n ta n ta ù ù i i (Debug la (Debug la ỏ ỏ y y ủ ủ ũa ch ũa ch ổ ổ ủ ủ oa oa ù ù n CS) n CS) - - A DS:2000h A DS:2000h dũch ụ dũch ụ ỷ ỷ ủ ủ ũa ch ũa ch ổ ổ DS:2000h DS:2000h 22/08/2011 22/08/2011 Chuong 3 Debug Chuong 3 Debug 5 5 T T h h ớ ớ du du ù ù minh ho minh ho ù ù a le a le ọ ọ nh A nh A Pha Pha ỷ ỷ i nha i nha ọ ọ p le p le ọ ọ nh va nh va ứ ứ o theo t o theo t ửứ ửứ ng do ng do ứ ứ ng mo ng mo ọ ọ t va t va ứ ứ ke ke ỏ ỏ t thu t thu ự ự c ba c ba ố ố ng Enter. ng Enter. Ke Ke ỏ ỏ t thu t thu ự ự c nha c nha ọ ọ p nha p nha ỏ ỏ n Enter ụ n Enter ụ ỷ ỷ do do ứ ứ ng tro ng tro ỏ ỏ ng. ng. Ex : Ex : - - A 100 A 100 5514:0100 MOV AH, 2 5514:0100 MOV AH, 2 5514:0102 MOV DL, 41 5514:0102 MOV DL, 41 5514:0104 INT 21H 5514:0104 INT 21H SEGMENT OFFSET User goỷ vaứo 22/08/2011 22/08/2011 Chuong 3 Debug Chuong 3 Debug 6 6 C (Compare) C (Compare) So sa So sa ù ù nh 2 vu nh 2 vu ø ø ng bo ng bo ä ä nhơ nhơ ù ù va va ø ø lie lie ä ä t kê ca t kê ca ù ù c ô nhơ c ô nhơ ù ù co co ù ù no no ä ä i dung kha i dung kha ù ù c nhau. c nhau. Cú pháp : C <khoảng> , < đòa chỉ> Ex : - C 100, 200, 3000 : 1000 So sánh ô nhớ DS:100h với ô nhớ 3000:1000h, ô nhớ DS:101h với ô nhớ 3000:1001h… Cho đến ô nhớ DS :200h với ô nhớ 3000:1100h.  So sánh 101 bytes 22/08/2011 22/08/2011 Chuong 3 Debug Chuong 3 Debug 7 7 D (Dump) D (Dump) Hie Hie ọ ọ n no n no ọ ọ i dung bo i dung bo ọ ọ nhụ nhụ ự ự theo da theo da ù ù ng he ng he ọ ọ 16 va 16 va ứ ứ ASCII ASCII . . Caựch goùi : D <khoaỷng> Ex : - D F000 : 0 - D ES : 100 - D 100 22/08/2011 22/08/2011 Chuong 3 Debug Chuong 3 Debug 8 8 Le Le ä ä nh F ( nh F ( Fill) Fill) Cu Cu ù ù pha pha ù ù p : F <khoa p : F <khoa û û ng> <danh sa ng> <danh sa ù ù ch> ch> Công du Công du ï ï ng : la ng : la á á p p đ đ a a à à y trò va y trò va ø ø o vu o vu ø ø ng nhơ ng nhơ ù ù ngay ngay ta ta ï ï i i đ đ òa ch òa ch ỉ ỉ mong muo mong muo á á n. n. Trò nhập vào từng byte một theo hệ 16 Dấu trừ (-) dùng để lùi lại 1 đòa chỉ. SPACE BAR dùng để tới 1 đòa chỉ. ENTER để kết thúc. 22/08/2011 22/08/2011 Chuong 3 Debug Chuong 3 Debug 9 9 Minh ho Minh ho ï ï a le a le ä ä nh nh F F La La é é p p ñ ñ a a à à y vu y vu ø ø ng nhô ng nhô ù ù ta ta ï ï i i ñ ñ òa ch òa ch æ æ offset 100h offset 100h chuo chuo å å i i “ “ Toi dua em sang song Toi dua em sang song ” ” . . F 100 “TOI DUA EM SANG SONG” OFFSET 100H 22/08/2011 22/08/2011 Chuong 3 Debug Chuong 3 Debug 10 10 KE KE Á Á T QUA 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 [...]... vector ngắt quãng 0000:0000 ng Gỏ vào máy bằng lệnh A, đoạn chương trình sau ở đòa ng nh chỉ 2000:0100 22/08/2011 Chuong 3 Debug 28 Summary 2000:0100 MOV AL ,32 2000:0102 MOV AH, 4F 2000:0104 MOV CX, [200] 2000:0108 MOV WORD PTR [1800], 1 2000:010E MOV BYTE PTR [1800], 1 2000:01 13 Xem lại đoạn chương trình vừa đánh trên bằng lệnh U Chú ý quan nh ng nh sát phần mã máy Tìm xem các toán hạng tức thời và... Ex : - S 100 L 1000 ‘DOS’ 18AF : 0154 18AF : 08 23 Ex2 : - S 2000 2200 13, 15,8A, 8 22/08/2011 Chuong 3 Debug 24 Lệnh M (Move) nh Công dụng : chép nội dung vùng nhớ đến 1 ng ng đòa chỉ khác c Cú pháp : - M ng> Ex : - M 100 105 200 Chép 5 bytes từ DS:100 đến DS:200 Ex2 : - M CS:100 L 50 ES :30 0 Chép 50 bytes từ CS:100 đến ES :30 0 22/08/2011 Chuong 3 Debug 25 Lệnh I (Input) nh Công dụng : nhập 1... dùng để kết thúc 22/08/2011 Chuong 3 Debug 13 Minh họa lệnh E nh Mục dích : thay đổi nội dung bộ nhớ Cú pháp : - E [address] [ list] Ex : thay đổi 6 bytes bắt đầu ở đòa chỉ 100 thành “ABCDE” - E 100 “ABCDE” Debug lấy đoạn chỉ b ơ ûi D S Nếu ta kh ông qui đò nh đòa chỉ đoạn 22/08/2011 Chuong 3 Debug 14 Lệnh U (Unassemble) công dụng : in ra 32 bytes mã máy của ng chương trình trong bộ nhớ ra màn hình dưới... hình Cú pháp : - I ng> đòa chỉ cổng là số hệ 16 tối đa 4 chữ số ng Ex : - I 37 E EC 22/08/2011 Chuong 3 Debug 26 Lệnh O (Output) nh Công dụng : xuất 1 byte ra cổng xuất nhập ng ng p Cú pháp :- O ng> đòa chỉ cổng là số hệ 16 tối đa 4 chữ số ng Ex : - O 37 8 5E 22/08/2011 Chuong 3 Debug 27 Summary Dùng lệnh D để xem nội dung vùng nhớ tại đòa chỉ của ng nh ng ROM BIOS F000:0000... nội dung vùng nhớ 16 bytes bắt đầu ở đòa chỉ F000:100 - D F000:100 L10 22/08/2011 Chuong 3 Debug 11 Thí dụ minh họa lệnh D nh đánh vào lệnh D để xem nội dung vùng nhớ nh nh ng của 30 h bytes bộ nhớ từ đòa chỉ 0000:0040 đến 0000:006F - D 0000:0040 006F Đòa chỉ bắt đầu - D 0000:0040 L 30 Số bytes 22/08/2011 Chuong 3 Debug 12 E (ENTER) Dùng để đưa dữ liệu byte vào bộ nhớ ngay ng tại đòa chỉ mong muốn n... dùng để đọc sector luận lý trên đóa vào bộ nhớ Đóa : = 0 ổ đóa A, =1 ổ đóa B, =2 ổ đóa C … 22/08/2011 Chuong 3 Debug 22 Lệnh H (Hex Arithmethic) nh thực hiện phép cộng và trừ hệ 16 ng Cú pháp : - H Kết quả : hiện ra tổng và hiệu của trò 1 và trò 2 22/08/2011 Chuong 3 Debug 23 Lệnh S (Search) nh Công dụng : tìm kiếm trò trong 1 vùng bộ nhớ ng ng Cú pháp : - S ng>... Ex : U 100 119 In ra m a øn hình c a ùc chỉ CS:1 lệnh mã máy tư 00 đế n C ø đ òa S : 119 22/08/2011 Chuong 3 Debug 15 Lệnh R (Register) nh Công dụng : xem và sửa nội dung thanh ghi ng Cú pháp : - R enter (xem tất cả thanh ghi) xem thanh ghi AX : - R AX xem thanh ghi cờ : R F Ex : muốn bật thanh ghi cờ CF và ZF ta nhập CY và ZR 22/08/2011 Chuong 3 Debug 16 Lệnh N (Name) nh Công dụng : tạo tập tin cần... 2 thanh ghi BX và CX Cụ thể trong trường hợp này số byte cần ghi là 1Eh byte BX = 0000 CX = 1E Dùng lệnh W 2000:100 để ghi dữ liệu đã nhập vào tập tin ở đòa chỉ bộ nhớ 2000:100 22/08/2011 Chuong 3 Debug 18 Thoát khỏi Debug và gọi lại tập tin theo cách sau : C :\> Debug Love.txt tìm xem Debug đã nạp tập tin Love.txt vào chỗ nào trong bộ nhớ 22/08/2011 Chuong 3 Debug 19 Lệnh W (Write) nh Cú pháp : W... đầu là 100 22/08/2011 Chuong 3 Debug 20 Lệnh T (Trace)và P nh cú pháp : - T [= ][số lần] n] Mục đích : dùng để chạy 1 hay nhiều lần các lệnh trong bộ nhớ Ex : - T = 30 00:1000 Ex : - T = 30 00:1000 22/08/2011 Chuong 3 Debug 21 Lệnh L (Load) nh nạp tập tin hoặc nạp sector luận lý từ đóa vào bộ nhớ Cú pháp : - L [ ] Dạng 1 : nếu chỉ có đòa chỉ dùng để nạp tập tin... đánh trên bằng lệnh U Chú ý quan nh ng nh sát phần mã máy Tìm xem các toán hạng tức thời và các đòa y ng chỉ xuất hiện ở đâu trong phần mã máy của lệnh nh Phần mã máy của 2 câu lệnh cuối có gì khác nhaukhi dùng các nh ng toán tử WORD PTR và BYTE PTR 22/08/2011 Chuong 3 Debug 29 Summary Dùng lệnh E nhập vào đoạn văn bản sau vào bộ nhớ tại đòa chỉ ng nh DS:0100 8086/8088/80286 Assembly language Copyright . 200, 30 00 : 1000 So sánh ô nhớ DS:100h với ô nhớ 30 00:1000h, ô nhớ DS:101h với ô nhớ 30 00:1001h… Cho đến ô nhớ DS :200h với ô nhớ 30 00:1100h.  So sánh 101 bytes 22/08/2011 22/08/2011 Chuong 3 Debug Chuong. 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:0 130 45 4D 20 53 41 4E 47 20- 53 4F 4E 47 54 4F 49 20 EM SANG SONGTOI 0ADD:0140. 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

Ngày đăng: 22/07/2014, 00:20

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN