鱼C论坛

 找回密码
 立即注册
查看: 4008|回复: 2

[汇编作业] 检测点11.2答案和个人分析

[复制链接]
发表于 2019-12-23 19:37:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
         
答案:参考了shuiyu的答案:
                    al      CF OF SF ZF PF      
                         
sub al,al       0         0  0  0  1  1
mov al,10h   ..         0  0  0  1  1
add al,90h   0A0h    0  0  1  0  1
mov al,80h     ..      0  0  1  0  1
add al,80h         (1)00h  1  1  0  1  1
mov al,0FCh   ..      1  1  0  1  1
add al,05h  (1)01h  1  0  0  0  0
mov al,7D         ..   1  0  0  0  0
add al,0Bh   88h     0  1  1  0  1
            
个人分析:                       
             al  , 进位,溢出,符号,零,奇偶
sub al,al      0     00011
mov al,10h 10h  00011  不影响
add al,90h  A0h  00101
   A0h=240d=10100000,
补码是负数,两个1
mov al,80h 80h  00101  不影响
add al,80h (1)00h  11011
mov al,0FCh  ..      11011 不影响
add al,05h (1)01h  10000
        负数+正数不可能溢出
mov al,7Dh         ..         10000 不影响
add al,0Bh   88h    01101
        125d+11d=136d=10001000b
        正+正=负 溢出了,两个1                                                            

★溢出:对于N bit的数据 eg:8bit(以有符号数看待,即以补码看待)
设H=2^(N-1)  eg:H为=128=80h
当运算结果超出-H~H-1 eg:-128~127
(即运算结果∈(-∞,-H)U[H,+∞)  )
则为溢出
★判断运算结果是否溢出有一个简单的规则:
1两个正数相加(或正数减负数)得到负数或0,就是溢出
2两个负数相加(或负数减正数)得到正数或0,就是溢出
3 一个正数和一个负数相加不可能溢出
ps:对于8位数据,
00h~7Fh是正数(00h是0)
80h~FFh是负数
◆复习标志位
https://m.baidu.com/sf_edu_wenku/view/02cf5d7402768e9951e738cc
[0]CF CarryFlag 进位标志位
指令执行后是(CF为1)否(为0)进位或借位
(当程序员把该数据视做无符号数看待时,则需要关心CF标志位,因为进借位后会出错)
[2]PF 奇偶标志位
指令执行后结果以二进制表示,其中1的个数是(PF为1)否(为0)为偶数
[6]ZF 零标志位
指令执行后是(ZF为1)否(为0)为0
[7]SF 符号标志位
指令执行后是(SF为1)否(为0)为负
(结果以有符号方式(补码)看待)
[11]OF 溢出标志位
指令执行后是(OF为1)否(为0)溢出
(当程序员把该数据视做有符号数看待时,则需要关心OF标志位,因为溢出后会出错)

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +3 收起 理由
QNN + 5 + 5 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-21 21:38:55 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-3-22 10:45:52 | 显示全部楼层
过来参考大佬了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 11:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表