计算机组成原理及汇编语言程序设计 179页4-24题 假设(AX)=0FF60H,有以下程序段:

题目:

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

你可能感兴趣的:(汇编,笔记,汇编)