2
A0H보다 작은 숫자 (숫자로 초기화 됨)를 추가하는 어셈블리 프로그램을 작성하려고합니다. 그러나이 프로그램을 실행하면 숫자 중 아무 것도 추가하지 못합니다. 어떤 도움을 주시면 감사하겠습니다.Emu8086 assembly adder
PAGE 60,132
TITLE COOLADDER
.MODEL SMALL
.STACK 64
.DATA
NUMS DB 01H,01H,01H,01H,0A1H,0A1H
SUM DB ?
CC DB ?
.CODE
MAIN PROC FAR
MOV AX,@DATA
MOV DS,AX
MOV CX,6
MOV BX,OFFSET NUMS
MOV AL,0
AGAIN:
MOV DI,0A0H
CMP DI,[BX]
JNA RES
ADD AL,[BX]
MOV CC,AL
RES:
INC BX
DEC CX
JNZ AGAIN
MOV SUM,AL
MOV AH,4CH
INT 21H
MAIN ENDP
END MAIN
어떤 도움이 필요하십니까? 문제가 무엇입니까? – Reinard
"num"으로 선언 된 모든 숫자를 "0A0H"보다 작게 추가하는 대신 "num"에 선언 된 모든 숫자를 추가합니다. 디버깅을 통해 "CMP DI, [BX]"행이 제대로 작동하지 않음을 알 수있었습니다. –