汇编问题,求解答

2025-05-10 21:53:19
推荐回答(1个)
回答1:

AX = 0D87BH = 1101 1000 0111 1011B
NEG指令对其取补运算,就是用0减去它,结果是AX = 0010 0111 1000 0101 B
NOT指令对其取反运算,结果是 AX = 1101 1000 0111 1010 B = 0D87AH

你先是粗心犯了一个小错误,原始数据第一个十六进制位 D 的二进制值是1101,你错写成 1011了。
然后你对NEG的理解有误,NEG指令是对操作数进行求补运算,不是写出负数的补码。
求补运算,是指用0减掉源操作数,有点类似于乘以(-1)。
负数求补,结果变正(8000H除外)。正数求补,结果变负。