汇编

作者: 泛坷 | 来源:发表于2018-03-21 18:35 被阅读16次

原码、反码、补码之间的转换


一、正整数的原码、反码、补码完全一样,即符号位固定为0,数值位相同

二、负整数的符号位固定为1,由原码变为补码时,规则如下:

      1、原码符号位1不变,整数的每一位二进制数位求反,得到反码

      2、反码符号位1不变,反码数值位最低位加1,得到补码

三、[+0]补 = [-0]补 = 0

百度经验

简单运算


  • [X+Y]补 = [X]补+[Y]补
  • [X-Y]补 = [X]补+[-Y]补
  • 补码在运算的过程中 符号位也参与运算
  • 注意,两个补码相加后产生了第9位(为1)的溢出,直接丢弃


    image.png

参考地址

OF ZF PF SF CF


标志 意义
ZF (Zero_FLag)零标志位。运算结果为零则ZF=1,否则ZF=0
AF (Auxiliary_Flag)辅助进位标志位。运算过程中看最后四位,不论长度为多少。最后四位向前有进位或者借位,AF=1,否则AF=0
SF (Sign_Flag)符号标志位。根据具体的长度,指令执行之后将该长度的最高位的值赋给SF
PF 反映结果“1”的个数,奇数个“1”就为0,偶数个“1”就为1《就是二进制中1的个数》
CF 最高位有进位或借位就置1
OF (overflow)溢出标志位---两个负数相加变成正数,溢出。???
- OF = 1表示溢出,
以下判断依据没有得到有力的证实
*正数+正数=负数 则逻辑上看出 是错误的 即溢出
*负数+负数=正数 则逻辑上看出 是错误的 即溢出
*正数+负数 是互相抵消的 不会产生溢出
*正数-负数=负数 则逻辑上看出(结果应为正) 是错误的 即溢出
*负数-正数=正数 则逻辑上看出(结果应为负) 是错误的 即溢出
*正数-正数 或 负数-负数 二者是互相抵消的 不会产生溢出

进制转换 (含小数)


二进制转十进制八进制转十进制十六进制转十进制

image.png

十进制转R进制

1.整数部分


image.png

2.小数部分


image.png

二、八、十六进制相互转换

-每位八进制数相当于三位二进制数
-每位十六进制数相当于四位二进制数
image.png

欢迎指正问题

相关文章

网友评论

      本文标题:汇编

      本文链接:https://www.haomeiwen.com/subject/rebgqftx.html