. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->标志寄存器
主题 : :  求检测点11.2答案  [待解决] 回复[ 14次 ]   点击[ 971次 ]  
yc2010
[帖 主] [ 发表时间:2010-06-01 16:13 ] 
荣誉值:2
信誉值:0
注册日期:2010-03-03 23:27
CF         0F       SF    ZF      PF 
sub al,al                                    1             0 
mov al,10H                                   1              10000 
add al,90H                                   1              1010 0000         
mov al,80H                                   0              1000 000 
add al,80H                                   0              1 0000 0000 
mov al,0FCH                                  1              1111 1100 
add al,05H                                  1              1 0000 0001 
mov al,7DH                                   1              111 1101 
add al,0bH                                   1              1000 1000
340500171
[第14楼] [ 回复时间:2010-12-28 14:09 ] 
荣誉值:0
信誉值:0
注册日期:2010-11-20 02:27
这个里面的问题1中80H为负数-128,执行add al,80H,就是-128 (-128)=-256,结果是负数,怎么SF是0呢
8位寄存器是装不下256的,add al,80h执行之后,al=00000000,本来是100000000,因为他是9位al装不下,所以变成了0。
还有问题3:7DH=01111101b,有符号数情况下,首位为0,故为正值=125;0BH=00001011,有符号数情况下=5。在有符号数情况下相加,为130,溢出,所以OF=1。不管是有符号数还是无符号数,其结果都是整数,怎么SF=1呢
 最后结果是10000010,补码中,最高位是1的皆为负数。
也许,大概就这样把,我不理解的是0BH=00001011,有符号数也应该是11吧?怎么是5呢?
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved