Bài giảng Cấu trúc máy tính và lập trình hợp ngữ - Chương 3: Chương trình gỡ rối debug
Số trang: 30
Loại file: ppt
Dung lượng: 776.00 KB
Lượt xem: 10
Lượt tải: 0
Xem trước 3 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Mục tiêu học tập trong chương này: 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, dò tìm trị ở dạng nhị phân hoặc ASCII trong bộ nhớ, hỗ trợ luyện tập viết chương trình bằng Assembly. Mời các bạn cùng tham khảo.
Nội dung trích xuất từ tài liệu:
Bài giảng Cấu trúc máy tính và lập trình hợp ngữ - Chương 3: Chương trình gỡ rối debug CHƯƠNG TRÌNH GỠ RỐI DEBUG Mục tiêu 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 ặc A S C I I tr on g b ộ n hớ t rị ở d ạ n g n h ị p h ân ho Dò tìm A s s em b ly ì n h b ằ ng h ươ n g t r ậ p v iết c ợ lu y ệ n t Hỗ tr 10/04/16 Chuong 3 Debug 1 Dạng lệnh của Debug 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 10/04/16 Chuong 3 Debug 2 Dạng lệnh củ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ố 10/04/16 Chuong 3 Debug 3 Tập lệnh của Debug A : cho pheùp vieát töø baøn phím caùc leänh maõ maùy döôùi daïng gôïi nhôù. A [ ] Ex : - A 100 dòch ôû ñòa chæ CS:100h -A dòch ôû ñòa chæ hieän taïi 10/04/16 (Debug laáy ñòa chæ ñoaïn Chuong 3 Debug 4 Thí dụ minh họa lệnh A Phải nhập lệnh vào theo từng dòng một và kết thúc bằng Enter. Kết thúc nhập nhấn Enter ở dòng trống. Ex : A 100 User gỏ vào 5514:0100 MOV AH, 2 5514:0102 MOV DL, 41 5514:0104 INT 21H SEGMENT OFFSET 10/04/16 Chuong 3 Debug 5 C (Compare) So sánh 2 vùng bộ nhớ và liệt kê các ô nhớ có nội dung khác nhau. Cú pháp : C , 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 10/04/16 Chuong 3 Debug 6 D (Dump) Hiện nội dung bộ nhớ theo dạng hệ 16 và ASCII. Cách gọi : D Ex : - D F000 : 0 - D ES : 100 - D 100 10/04/16 Chuong 3 Debug 7 Lệnh F (Fill) Cú pháp : F Công dụng : lấp đầy trị vào vùng nhớ ngay tại địa chỉ mong muố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. 10/04/16 Chuong 3 Debug 8 Minh họa lệnh F Lắp đầy vùng nhớ tại địa chỉ offset 100h chuổi “ Toi dua em sang song”. F 100 “TOI DUA EM SANG SONG” OFFSET 100H 10/04/16 Chuong 3 Debug 9 KẾT QUẢ -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 10/04/16 Chuong 3 Debug 10 D (DUMP) Mục đích : in nội dung bộ nhớ trong MT ra màn hình dưới dạng số hex. Cú pháp : D [ address] D [range] Ex : in nội dung vùng nhớ đã lắp đầy ở ví dụ trước ở địa chỉ 100h Ex2 : xem nội dung vùng nhớ 16 bytes bắt đầu ở địa chỉ F000:100 - D F000:100 L10 10/04/16 Chuong 3 Debug 11 Thí dụ minh họa lệnh D ñaùnh vaøo leänh D ñeå xem noäi dung vuøng nhôù cuûa 30h bytes boä nhôù töø ñòa chæ 0000:0040 ñeán 0000:006F - D 0000:0040 006F Địa chỉ bắt đầu - D 0000:0040 L 30 Số bytes 10/04/16 Chuong 3 Debug 12 E (ENTER) Dùng để đưa dữ liệu byte vào bộ nhớ ngay tại địa chỉ mong muốn. Cách gọi : E Trị nhập vào theo dạng số 16 từng byte một Dấu dùng để lùi lại 1 địa chỉ Space Bar dùng để tới 1 địa chỉ Enter dùng để kết thúc 10/04/16 Chuong 3 Debug 13 Minh họa lệnh E 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ỉ Nếu ta kh bởi DS ông qui đị nh địa chỉ đoạn 10/04/16 Chuong 3 Debug 14 ...
Nội dung trích xuất từ tài liệu:
Bài giảng Cấu trúc máy tính và lập trình hợp ngữ - Chương 3: Chương trình gỡ rối debug CHƯƠNG TRÌNH GỠ RỐI DEBUG Mục tiêu 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 ặc A S C I I tr on g b ộ n hớ t rị ở d ạ n g n h ị p h ân ho Dò tìm A s s em b ly ì n h b ằ ng h ươ n g t r ậ p v iết c ợ lu y ệ n t Hỗ tr 10/04/16 Chuong 3 Debug 1 Dạng lệnh của Debug 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 10/04/16 Chuong 3 Debug 2 Dạng lệnh củ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ố 10/04/16 Chuong 3 Debug 3 Tập lệnh của Debug A : cho pheùp vieát töø baøn phím caùc leänh maõ maùy döôùi daïng gôïi nhôù. A [ ] Ex : - A 100 dòch ôû ñòa chæ CS:100h -A dòch ôû ñòa chæ hieän taïi 10/04/16 (Debug laáy ñòa chæ ñoaïn Chuong 3 Debug 4 Thí dụ minh họa lệnh A Phải nhập lệnh vào theo từng dòng một và kết thúc bằng Enter. Kết thúc nhập nhấn Enter ở dòng trống. Ex : A 100 User gỏ vào 5514:0100 MOV AH, 2 5514:0102 MOV DL, 41 5514:0104 INT 21H SEGMENT OFFSET 10/04/16 Chuong 3 Debug 5 C (Compare) So sánh 2 vùng bộ nhớ và liệt kê các ô nhớ có nội dung khác nhau. Cú pháp : C , 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 10/04/16 Chuong 3 Debug 6 D (Dump) Hiện nội dung bộ nhớ theo dạng hệ 16 và ASCII. Cách gọi : D Ex : - D F000 : 0 - D ES : 100 - D 100 10/04/16 Chuong 3 Debug 7 Lệnh F (Fill) Cú pháp : F Công dụng : lấp đầy trị vào vùng nhớ ngay tại địa chỉ mong muố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. 10/04/16 Chuong 3 Debug 8 Minh họa lệnh F Lắp đầy vùng nhớ tại địa chỉ offset 100h chuổi “ Toi dua em sang song”. F 100 “TOI DUA EM SANG SONG” OFFSET 100H 10/04/16 Chuong 3 Debug 9 KẾT QUẢ -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 10/04/16 Chuong 3 Debug 10 D (DUMP) Mục đích : in nội dung bộ nhớ trong MT ra màn hình dưới dạng số hex. Cú pháp : D [ address] D [range] Ex : in nội dung vùng nhớ đã lắp đầy ở ví dụ trước ở địa chỉ 100h Ex2 : xem nội dung vùng nhớ 16 bytes bắt đầu ở địa chỉ F000:100 - D F000:100 L10 10/04/16 Chuong 3 Debug 11 Thí dụ minh họa lệnh D ñaùnh vaøo leänh D ñeå xem noäi dung vuøng nhôù cuûa 30h bytes boä nhôù töø ñòa chæ 0000:0040 ñeán 0000:006F - D 0000:0040 006F Địa chỉ bắt đầu - D 0000:0040 L 30 Số bytes 10/04/16 Chuong 3 Debug 12 E (ENTER) Dùng để đưa dữ liệu byte vào bộ nhớ ngay tại địa chỉ mong muốn. Cách gọi : E Trị nhập vào theo dạng số 16 từng byte một Dấu dùng để lùi lại 1 địa chỉ Space Bar dùng để tới 1 địa chỉ Enter dùng để kết thúc 10/04/16 Chuong 3 Debug 13 Minh họa lệnh E 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ỉ Nếu ta kh bởi DS ông qui đị nh địa chỉ đoạn 10/04/16 Chuong 3 Debug 14 ...
Tìm kiếm theo từ khóa liên quan:
Cấu trúc máy tính Lập trình hợp ngữ Chương trình gỡ rối debug Dạng lệnh của Debug Tập lệnh của Debug Viết chương trìnhGợi ý tài liệu liên quan:
-
50 trang 486 0 0
-
67 trang 288 1 0
-
Giáo trình Cấu trúc máy tính toàn tập
130 trang 195 0 0 -
78 trang 165 3 0
-
Thuyết trình môn kiến trúc máy tính: CPU
20 trang 135 0 0 -
Đề kiểm tra giữa học kỳ II năm 2013 - 2014 môn Cấu trúc máy tính
6 trang 130 0 0 -
Tài liệu giảng dạy Cấu trúc và bảo trì máy tính - Trường CĐ Kinh tế - Kỹ thuật Vinatex TP. HCM
133 trang 128 0 0 -
Giáo trình lắp ráp và cài đặt máy vi tính - Trường TCN Đông Sài Gòn
85 trang 103 0 0 -
66 trang 84 1 0
-
Giáo trình môn học: Cấu trúc máy tính (Trình độ: Trung cấp/cao đẳng)
103 trang 78 0 0