1.两字节数相减
DATA SEGMENT
DATA1 DW 9526H,5311H ;表示数据53119526H
DATA2 DW 9503H,4783H ;表示数据47839503H
RESULT DW 2 DUP(?) ;存放多字节加法的结果
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV AX,DATA1
MOV DX,DATA1+2
SUB AX,DATA2 ;低字部分相减
SBB DX,DATA2+2 ;高字部分带进位相减
MOV RESULT,AX ;存放低字部分相减结果
MOV RESULT+2,DX ;存放高字部分相减结果
CODE ENDS
END START
2.三字节数与两字节数相减
DATA SEGMENT
DATA1 DW 5311H,8A13H,5312H ;表示数据53118A135311H
DATA2 DW 4783H,9526H ;表示数据95264783H
RESULT DW 2 DUP(?) ; 存放多字节减法的结果
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV AX,DATA1
MOV DX,DATA1+2
MOV BX,DATA1+4
SUB AX,DATA2 ;低字部分相减
SBB DX,DATA2+2 ;高字部分带进位相减
SBB BX,DATA2+4 ;最高位部分进位相减
MOV RESULT,AX ;存放低字部分相减结果
MOV RESULT+2,DX ;存放高字部分相减结果
MOV RESULT+4,BX ;存放最高位部分进位相减结果
CODE ENDS
END START
3. .三字节数与两字节数相加
DATA SEGMENT
DATA1 DW 5311H,8A13H,5312H ;表示数据53118A135311H
DATA2 DW 4783H,9526H ;表示数据95264783H
RESULT DW 2 DUP(?) ; 存放多字节加法的结果
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV AX,DATA1
MOV DX,DATA1+2
MOV BX,DATA1+4
ADD AX,DATA2 ;低字部分相加
ADC DX,DATA2+2 ;高字部分带进位相加
ADC BX,DATA2+4 ;最高位部分进位相加
MOV RESULT,AX ;存放低字部分相加结果
MOV RESULT+2,DX ;存放高字部分相加结果
MOV RESULT+4,BX ;存放最高位部分进位相加结果
CODE ENDS
END START