这个大数据的减法运算用到的指令是sbb指令,这个指令和大数据的加法指令adc有着相似的用法
sbb = sub - CF
大数据减法:mov ax, 0A8785428
mov bx, 0E5846628
sbb bx, 254584598
sbb ax, 087E7892F
当然如果用上面的这种写法的话,必须要在之前将CF置零,用sub ax, ax将CF位置零,另外一种不需要先置零的方法就是先对第一位进行sub操作,再对之后的每一位进行sbb操作,如下:
mov ax, 0A8785428
mov bx, 0E5846628
sub bx, 254584598
sbb ax, 087E7892F
下面编写一个通用的子程序来介绍这个指令的使用方法,功能在代码中注释了,如下:
;写子函数:计算64位的减法
assume cs:code, ds:data
;这里的数据是从高到低进行的,结果同样是从高到低排列的
data segment
dw 0A452