笔记内容,毕业概不负责,本人学习能力有限,有误地方请私聊更正,答案仅供参考
题目:
4-24 假设(AX)=0FF60H,有以下程序段:
STC
MOV DX,96
XOR DH,0FFH
SBB AX,DX
上述程序执行后,(AX) =_____,CF=_______。
解析:
关键点:
STC:设置CF=1
XOR:或运算,1 or 1=1,0 or 0=0,1 or 0=1,xor指令使CF,和OF为0
SBB:带借位减法,指令格式:sbb 操作对象1, 操作对象2,功能:操作对象1 = 操作对象1 - 操作对象2 - CF
STC
CF=1
MOV DX,96
DX=96(十进制)
十进制96转十六进制:
96%16=
DX二进制:110 0000
DX十六进制:60H
XOR DH,0FFH
0FFH二进制:0000 0000 1111 1111
DX=60H
DX二进制:0000 0000 0110 0000
DH(高8位):0000 0000
DL(低8位):0110 0000
执行XOR:(执行后再把结果放入DH)
0000 0000
XOR
1111 1111
=
1111 1111
DH:1111 1111
CF=0
替换DH高8位:
原DX二进制:0000 0000 0110 0000
DX=1111 1111 0110 0000
SBB AX,DX
AX=AX-DX-CF
AX=0FF60H
AX二进制:1111 1111 0110 0000
DX=1111 1111 0110 0000
DX=FF60
CF=0
执行后结果为:0
AX=0
CF=0