飞峰絮 发表于 2013-10-27 10:50:58

汇编习题

已知 AX=0FF60H,CF=1.
MOVDX ,96
XOR   DH,0FFH
SBB   AX,DX
执行上述指令序列后,AX=——,CF=——。
我的做的答案是AX=0,CF=0;我们老师说是错的,我很困惑,求大神帮忙解释一下,谢谢!

福禄娃娃 发表于 2013-10-27 13:36:47

你的结果是对的,我验证了下,AX确实为0,CF也为0
你可以拿段程序编译后给老师看看:assume cs:code
code segment
start:
MOVAL,97h
SUB    AL, 98h         ;把CF置1
MOVAX , 0ff60h    ;AX初始为0FF60H
MOVDX ,96         ;DX初始为0060H
XOR   DH,0FFH       ;0060和FFH异或,CF置0
SBB    AX,DX          ;AX置0开始AX=FF60H   DX=FF60H相减后AX=0
mov ax,4c00h
int 21h
code ends
end start

阔怀 发表于 2015-8-12 12:27:02

{:1_1:}
页: [1]
查看完整版本: 汇编习题