功能说明:输入两组16位二进制代码模拟两为16位二进制整数,对其求差并以16进制输出.
基本算法:采用补码,模拟二机制减法(加法类同),得到差(补码)转换成原码后,转化成十六进制并输出.16为二进制转换成4为十六进制数的方法是采用:将16位二进制分成4组,每组由连续4位二进制组成,模拟4位二进制到一位十六进制转换,将每组转换成16进制数并输出.详见代码
本代码在MASM.5调试通过
运行界面:
如
binary(YuanMa) num1=1000000000001011 ;被减数原码
binary(YuanMa) num2=1000000000001101 ;减数原码
binary(Buma) num1 BM=1111111111110101 ;被减数补码
binary(Buma) num2 BM=1111111111110011 ;减数补码
binary(Buma) diff sub=0000000000000010 ;差补码
binary(YuanMa)diffsub=0000000000000010 ;差原码
hex sumHEX=0002
;/************************************************/
;
;bsub.asm
;hbyufan@163.com
;
TSOUT MACRO dx0
mov ah,09h
mov dx,offset dx0
int 21h
ENDM
data segment
num1 db 19 dup(''''