一道汇编简单选则题
设AL=20H,SI=0500H,DS=3000H,(30500H)=0C0H,CF=1.执行SBBAL,[SI]后,正确的结果是()①AL=5FHSF=1CF=1②AL...
设AL=20H,SI=0500H,DS=3000H,(30500H)=0C0H,CF=1.执行SBB AL,[SI]后,正确的结果是()
①AL=5FH SF=1 CF=1
②AL=60H SF=1 CF=0
③AL=5FH SF=0 CF=1
④AL=60H SF=0 CF=0
怎么做? 我的做法:al=20h-c0h,但是怎么减啊,2最高2位为0,c为1。借不了位啊?请赐教!!! 展开
①AL=5FH SF=1 CF=1
②AL=60H SF=1 CF=0
③AL=5FH SF=0 CF=1
④AL=60H SF=0 CF=0
怎么做? 我的做法:al=20h-c0h,但是怎么减啊,2最高2位为0,c为1。借不了位啊?请赐教!!! 展开
1个回答
展开全部
sbb本来就是带借位的减法指令,
al=20H-0C0H-(CF)=5FH,al是低字节,向高字节的最后一位借的1啊,ah就没定义,你怎么知道等于0.。这跟10进制相减是一样的。只是他现在只算低字节的。但借位是存在的。
就是因为不够减,才会产生借位(CF=1),这个借位本来就应该是向高位字来借的,也就是说高位字被借走了一个1,于是高位字相减时才需要这个SBB指令。
选 1,CF=1,表示有进位或借位。别人看到这个就知道,这个结果是有借位相减的结果。
al=20H-0C0H-(CF)=5FH,al是低字节,向高字节的最后一位借的1啊,ah就没定义,你怎么知道等于0.。这跟10进制相减是一样的。只是他现在只算低字节的。但借位是存在的。
就是因为不够减,才会产生借位(CF=1),这个借位本来就应该是向高位字来借的,也就是说高位字被借走了一个1,于是高位字相减时才需要这个SBB指令。
选 1,CF=1,表示有进位或借位。别人看到这个就知道,这个结果是有借位相减的结果。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |