2

A0H より小さい数値 (num として初期化) を追加するアセンブリ プログラムを作成しようとしています。ただし、このプログラムを実行すると、数字の追加に失敗します。どんな助けでも大歓迎です。

     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
4

1 に答える 1

2

データはバイトとして定義されましたが、単語として比較しています!

これを変える:

MOV DL,0A0H      
CMP DL,[BX]
于 2016-11-03T11:58:46.423 に答える