2
A0Hより小さい(numで初期化された)数値を追加するアセンブリプログラムを作成しようとしています。しかし、私はこのプログラムを実行すると、数字のいずれかを追加することができません。どんな助けもありがとう。Emu8086アセンブリ加算器
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]"という行が正しく動作していないことがわかりました。 –