设变量单元DATAA、DATAB、DATAC存放3个数,若3个数都不为零,则求3个数的和,存 放在DATAD中;
若有一个为零,则将其余两个也清零,试编写程序。 尝试上机调试运行及验证上述程序。
DATA SEGMENT
DATAA DB 1H
DATAB DB 2H
DATAC DB 3H
DATAD DW 0
DATA ENDS
STACK SEGMENT
STACK ENDS
CODE SEGMENT
ASSUME DS:DATA,CS:CODE,SS:STACK,ES:DATA
START:MOV AX,DATA
MOV DS,AX
LEA SI, DATAA
LEA DI, DATAD
MOV AL,[SI]
CMP AL,00 ;判断DATAA是否为0
JZ ZERO ;为0跳转
ADC DL,AL ;不为0,相加到DL中,下面同理
LEA SI, DATAB
MOV AL,[SI]
CMP AL,00
JZ ZERO
ADC DL,AL
LEA SI, DATAC
MOV AL,[SI]
CMP AL,00
JZ ZERO
ADC DL,AL
MOV [DI],DX
JMP EXIT
ZERO: MOV AL,0 ;将三个数都置0
MOV DATAA,AL
MOV DATAB,AL
MOV DATAC,AL
EXIT: MOV AX,4C00H;
INT 21H
CODE ENDS
END START