STACK SEGMENT STACK 'STACK'
DW 100H DUP(?)
TOP LABEL WORD
STACK ENDS
DATA SEGMENT
ADD1 DB 32H,85H,67H,12H
ADD2 DB 43H,65H,73H,21H
SUM DB 4H DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK
START:
MOV AX,DATA
MOV DS,AX
MOV ES,AX
MOV AX,STACK
MOV SS,AX
LEA SI,ADD1
LEA BX,ADD2
LEA DI,SUM
MOV CX,4
CLC
L1:
MOV AL,[SI]
ADC AL,[BX]
DAA
MOV [DI],AL
INC SI
INC DI
INC BX
LOOP L1
CALL DISPAL
EXITPROC:
MOV AH,4CH
MOV AL,0
INT 21H
DISPAL PROC NEAR
PUSH AX
PUSH BX
PUSH CX
PUSH DX
PUSH DI
LEA DI,SUM+3
MOV CX,4
DISPAL2:
MOV AL,[DI]
SHR AL,1
SHR AL,1
SHR AL,1
SHR AL,1
MOV AH,02H
MOV DL,AL
ADD DL,30H
INT 21H
MOV AL,[DI]
AND AL,0FH
MOV AH,02H
MOV DL,AL
ADD DL,30H
INT 21H
DEC DI
LOOP DISPAL2
POP DI
POP DX
POP CX
POP BX
POP AX
RET
DISPAL ENDP
CODE ENDS
END START