.MODEL SMALL
.STACK 1000
.DATA
MSGA DB 13,10,"Input first number: ","$"
MSGB DB 13,10,"Input second number:","$"
MSGC DB 13,10,"The sum is: ","$"
NUM1 db ?
NUM2 db ?
NUM3 db ?
.CODE
MAIN PROC NEAR
MOV AX, @DATA
MOV DS, AX
; get first number
LEA DX, MSGA
MOV AH, 09h
INT 21h
MOV AH, 01
INT 21H
SUB AL, '0'
MOV BL, AL
MOV AH, 01
INT 21H
SUB AL, '0'
MOV CL, AL
; get second number
LEA DX, MSGB
MOV AH, 09h
INT 21h
MOV AH, 01
INT 21H
SUB AL, '0'
MOV DL, AL
MOV AH, 01
INT 21H
SUB AL, '0'
MOV DH, AL
; add
ADD CL, DH
ADC BL, DL
MOV NUM1, CL
ADD NUM1, '0'
MOV NUM2, BL
ADD NUM2, '0'
; output sum
LEA DX, MSGC
MOV AH, 09h
INT 21h
MOV DL, NUM2
MOV AH, 02H
INT 21h
MOV DL, NUM1
MOV AH, 02H
INT 21h
MOV AH, 4Ch
INT 21h
MAIN ENDP
END MAIN
Phía trên là mã của tôi để thêm 2 số có hai chữ số vào trong hội đồng. Tôi tự hỏi tại sao ADC không hoạt động. Nếu những chữ số không nhận được một carry khi được thêm vào, mã của tôi hoạt động. Nhưng không phải khác. Tôi có hiểu lầm những gì ADC thực sự làm không? Tôi nên làm gì với mã của mình?Làm thế nào để sử dụng ADC trong lắp ráp?
'ADC' thực sự không sử dụng ở đây vì việc thêm 2 chữ số sẽ không bao giờ cho kết quả không thể sửa trong byte. – m0skit0
Tôi có nghĩa là "phù hợp" không "sửa chữa" xin lỗi – m0skit0