16-BIT ADDITION
DATA SEGMENT
NUM DW 1234H, 0F234H
SUM DW 2 DUP(0)
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE, DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV AX,NUM
MOV BX,0H
ADD AX,NUM+2
JNC DOWN
INC BX
DOWN: MOV SUM,AX
MOV SUM+2,BX
MOV AH,4CH
INT 21H
CODE ENDS
END START
INPUT : 1234H, F234H
OUTPUT : 10468H
32-BIT ADDITION
DATA SEGMENT
NUM1 DW 0FFFFH,0FFFFH
NUM2 DW 1111H,1111H
SUM DW 4 DUP(0)
dATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV AX,NUM1
ADD AX,NUM2
MOV SUM,AX
MOV AX,NUM1+2
ADC AX,NUM2+2
JNC DOWN
MOV SUM+4,01H
DOWN: MOV SUM+2,AX
MOV AH,4CH
INT 21H
CODE ENDS
END START
INPUT: 0FFFFFFFFH, 011111111H
OUTPUT: 0111111110H
32-BIT ADDITION USING DD DIRECTIVE
DATA SEGMENT
NUM1 DW 12345678H
NUM2 DW 12345678H
SUM DW 3 DUP(0)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
LEA SI,NUM1
LEA DI,NUM2
MOV AX,[SI]
ADD AX,[DI]
MOV CX,[SI+2]
ADC CX,[DI+2]
JNC DOWN
MOV SUM+4,01H
DOWN:MOV SUM,AX
MOV SUM+2,CX
MOV AH,4CH
INT 21H
CODE ENDS
END START
INOUT: 12345678H, 12345678H
OUTPUT: 2468ACF0H