版权声明: https://blog.csdn.net/weixin_42000150/article/details/80659484
;设在A,B,D三个字单元中分别存放3个数,若3个数均不为0,则求和并将和存放于S单元中
;若其中任一数为0,则将其它2个单元全部置0
DATA SEGMENT
A DW 12
B DW 0
D DW 999
S DW ?
DATA ENDS
STACK SEGMENT PARA STACK
DW 128 DUP(?)
TOP LABEL WORD
STACK ENDS
CODE SEGMENT
ASSUME SS:STACK,CS:CODE,DS:DATA
MAIN PROC FAR
START:
MOV AX,DATA
MOV DS,AX
MOV AX,STACK
MOV SS,AX
LEA SP,TOP
MOV CX,3
XOR AX,AX
LEA SI,A
L0: MOV BX,[SI]
ADD SI,2
CMP BX,0
JZ L1
ADD AX,BX
LOOP L0
MOV [SI],AX
XOR CX,CX
MOV BX,10
L3: XOR DX,DX
DIV BX
PUSH DX
INC CX
CMP AX,0
JNZ L3
L4: POP DX
ADD DL,30H
MOV AH,2
INT 21H
LOOP L4
JMP EXIT
L1: MOV CX,3
LEA SI,A
MOV AX,0
L2: MOV [SI],AX
ADD SI,2
LOOP L2
EXIT: MOV AH,4CH
INT 21H
CODE ENDS
MAIN ENDP
END START
;若其中任一数为0,则将其它2个单元全部置0
DATA SEGMENT
A DW 12
B DW 0
D DW 999
S DW ?
DATA ENDS
STACK SEGMENT PARA STACK
DW 128 DUP(?)
TOP LABEL WORD
STACK ENDS
CODE SEGMENT
ASSUME SS:STACK,CS:CODE,DS:DATA
MAIN PROC FAR
START:
MOV AX,DATA
MOV DS,AX
MOV AX,STACK
MOV SS,AX
LEA SP,TOP
MOV CX,3
XOR AX,AX
LEA SI,A
L0: MOV BX,[SI]
ADD SI,2
CMP BX,0
JZ L1
ADD AX,BX
LOOP L0
MOV [SI],AX
XOR CX,CX
MOV BX,10
L3: XOR DX,DX
DIV BX
PUSH DX
INC CX
CMP AX,0
JNZ L3
L4: POP DX
ADD DL,30H
MOV AH,2
INT 21H
LOOP L4
JMP EXIT
L1: MOV CX,3
LEA SI,A
MOV AX,0
L2: MOV [SI],AX
ADD SI,2
LOOP L2
EXIT: MOV AH,4CH
INT 21H
CODE ENDS
MAIN ENDP
END START