2016-10-31 66 views
2

我正在嘗試編寫一個彙編程序,它添加了小於A0H的數字(初始化爲nums)。但是,當我運行這個程序時,它不能添加任何數字。任何幫助,將不勝感激。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 
+0

你需要什麼幫助?問題是什麼? – Reinard

+0

它應該添加所有由「num」聲明的小於「0A0H」的數字,然而它會添加在「num」中聲明的所有數字。 通過調試我設法弄清楚「CMP DI,[BX]」行不能正常工作。 –

回答

1

的數據被定義爲字節,但是你在比較的話

更改此:

MOV DL,0A0H  
CMP DL,[BX]