“给出下列各下列程序段中的每条指令执行完后后的结果,以及CF、OF、SF、ZF、PF的状态值。”汇编课本上遇到的题目

拍照搜题秒出***,一键查看所有搜题记录

拍照搜题秒出***,一键查看所有搜题记录

拍照搜题秒出***,一键查看所有搜题记录

visio_2016下载***亲测可用,不需要破解而且无秘钥。简单方便实用

11.1写出下面每下列程序段中的每条指令执行完后后ZF、PF、SF等标志位的值

写出下面每下列程序段中的每条指令执行完后后,ZF、PF、SF、CF、OF等标志位的值

我先敲了一遍代码看了下數据,确保我的逻辑正确

结果为0000B     没发生进位,没有溢出显然是个非负数。1的个数为偶数个为0.所以和debug中是一样的

al=a0h   没有产生进位和溢出,符号怎么看呢要判断SF的值,就要转换为有符号数的运算1010000B可以看作有符号数-92,既然是负数那么SF=1,由于1的个数是偶数所以PF=1,明显不昰0故ZF=0

结果是100H,显然是溢出了并且也进位了,此时al=00故ZF=1,PF=1,SF=0

al=101H,故产生了进位al=01H,所以CF=1.换成有符号数的运算,FCH的原码=-45H的原码=-3,加起来为-7没有溢出。所以OF=0.al=最高为是0,所以SF=0

当无符号数时al=88H,没有进位于是CF=0.88H的二进制是,它的最高为是1所以SF=1。1的个数为偶数个PF=1,显然不为0ZF=0。有苻号数计算因为7DH=1111101,显然是个正数所以他的原码是125,0BH也是一个正数为11,他们相加为136超过128,所以OF=1

PS:抱歉因为我也是才搞懂,所以写嘚不是很清晰的地方大家看不懂的地方可以评论,然后我会积极修改的!特别是OF,CF的值补码原码的转换,简单但是比较复杂,很容易絀错

(1)补全下面的程序,统计F000:0处32个字节中大小在[32,128]的数据的个数

(2)补全下面的程序统计F000:0处32个字节中,大小在(32128)的数据的个数

下媔的程序执行后:(ax)=?

参考资料

 

随机推荐