In giá trị nhị phân ra màn hình dùng assembly

Em có đề bài yêu cầu đọc dữ liệu từ địa chỉ 300 và in giá trị các bit ra màn hình .Mọi người xem giúp em code e viết với ạ , có sai đâu không ạ :frowning:

MOV DX , 300h                
IN     AL , DX                ; đọc dữ liệu địa chỉ 300
MOV CX , 7                  ; dịch bit 7 lần

DOCBIT:
MOV BL, AL                  
AND BL , 0x80              
CMP BL, 0x80                 ; Kiểm tra bit D7 
JZ XUAT1                       ; Nhảy xuống nhãn XUAT1 nếu D7 = 1

MOV DL, 0x30               ; xuất giá trị 0 ra màn hình 
MOV AH, 09h
INT 21h 
SHL AL, 1                      ; Dịch trái 1 bit
LOOP DOCBIT              ; Lặp 
JMP END                        ; Kết thúc chương trình khi lặp xong

XUAT1:
MOV DL , 0x31             ; xuất 1 ra màn hình
MOV AH, 09h
INT 21H
SHL AL,1                     ; dịch trái 1 bit
LOOP DOCBIT            ; Lặp 

END:

Hm, cậu nên là người test nó trước Cường ơi! Người viết code là người có trách nhiệm test code đó đầu tiên.
Do topic này không xác nhận bất cứ vấn đề nào, nên tớ sẽ đóng nó lại sau 1 ngày.


Cậu vui lòng test trước code của cậu, nếu có gặp TH sai, mà sau khi debug cậu không biết sai ở đâu, cậu có thể quay lại đây và bọn tớ sẽ giúp cậu.
Cậu có thể mở topic mới, hoặc edit topic này và gửi message tới moderators, bọn tớ sẽ reopen topic trong TH đó.

Best regards,

2 Likes

Requested

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?