. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->标志寄存器
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  sf正负问题,谢谢  [已解决] 回复[ 5次 ]   点击[ 323次 ]  
liangdezhi
[帖 主]   [ 发表时间:2009-08-28 17:27 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:0
注册日期:2009-02-10 14:31
AL    CF       OF       SF       ZF       PF                                         
sub al,al       0                       0                                                           
mov al,10h     10h                      0                                                     
add al,90h     a0h                      1

SF(正负)      
-16+112         我看书上是这样加的,但是这样加应该得正啊.
tinyparticle
[第1楼]   [ 回复时间:2009-08-28 18:51 ]   [引用]   [回复]   [ top ] 
荣誉值:188
信誉值:4
注册日期:2009-07-05 19:26
al                 CF    OF    SF    ZF    PF 
sub al,al     0h/0000 0000b      0     0     0     1     1 
mov al,10h    10h/0010 0000b     0     0     0     1     1 
add al,90h    a0h/1010 0000b     0     0     1     0     1 

三条指令执行完后,al值为a0h,a0h是-96的补码,所以SF为1
liangdezhi
[第2楼]   [ 回复时间:2009-08-28 19:48 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:0
注册日期:2009-02-10 14:31
晕照你这样说                    
mov al,0fch               
add al,5h        那这个又怎么算得正,谢谢。
tinyparticle
[第3楼]   [ 回复时间:2009-08-28 20:33 ]   [引用]   [回复]   [ top ] 
荣誉值:188
信誉值:4
注册日期:2009-07-05 19:26
0             执行后al值                
mov al,0fch   0fch/1111 1100b    
add al,05h    1h/0000 0001b     

三条指令执行完后,al值为1h,是正数啊,所以SF为0

SF是记录 有符号运算 结果 是否为负数,结果为负数时,SF=1
liangdezhi
[第4楼]   [ 回复时间:2009-08-29 13:31 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:0
注册日期:2009-02-10 14:31
哦,直到了谢谢.
liangdezhi
[第5楼]   [ 回复时间:2009-09-29 01:24 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:0
注册日期:2009-02-10 14:31
此贴由 贴主 于 [ 2009-09-29 01:24 ] 结贴。 结贴原因:问题已解决
得分情况:
此问题已结贴!
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved