6 thg 12, 2009

Đoạn lệnh debug xuất giá trị thanh ghi BX dưới dạng nhị phân

Chăng là năm nay mình học môn Kiến trúc & tổ chức máy tính phần debug có mấy cái code khó quá. Đi thực hành được mấy bài thầy sửa nên post lên cho pà kon "chung cảnh ngộ" tham khảo luôn...


Đoạn lệnh debug sau sẽ làm xuất giá trị thanh ghi BX dưới dạng nhị phân


VD: FFEF(16) --> 1111 1111 1110 1111(2)


Đoạn lệnh:



MOV    CX,0010  ;Gan so lan lap cua lenh LOOP vao CX
ROL     BX,1        ;Dua MSB cua BX ra CF
JB        010B       ;Neu CF=1 thi nhay den doan lenh xuat '1' ra man hinh
MOV    DL,30      ;   nguoc lai xuat '0' (dua ma ASCII của '0' là 30H vao DL)
JMP     010D
MOV    DL,31      ;   dua ma ASCII của '1' là 31H vao DL
MOV    AH,02      ;Dung ham 2H ngat 21
INT       21           ;   de xuat ra man hinh gia tri co ma ASCII tren DL
LOOP   103         ;Lap lai khi CX<>0



Kết quả:



Có gì thắc mắc post lên nhé, mình sẻ giải thích theo hiểu biết ;)

Không có nhận xét nào:

Đăng nhận xét