二进制到汇编学习(一)

编码规则

有符号数的编码规则

原码:最高位是符号位,对其他位进行本身的绝对值即可
反码:
• 正数:反码和原码相同
• 负数:符号位是1,其余位对原码取反。
补码:
• 正数:补码和原码相同
• 负数:符号位是1,反码+1
>测试:

限定字节八位
#如果是正数
1:
#原码 0 0 0 0 0 0 0 1
#反码 0 0 0 0 0 0 0 1
#补码 0 0 0 0 0 0 0 1
#如果是负数
-1:
#原码 1 0 0 0 0 0 0 1
#反码 0 1 1 1 1 1 1 0
#补码 1 1 1 1 1 1 1 1
-7:
#原码 1 0 0 0 0 1 1 1
#反码 1 1 1 1 1 0 0 0
#补码 1 1 1 1 1 0 0 1

寄存器

mov 寄存器 向寄存器存值

例:mov EAX -1
EAX:FFFFFFFF (一个F代表4个1,其中最高位的1是符号位)负数在计算机中以补码形式存储
FFFFFFFF如果是无符号的是正数,有符号的是负数

学习通过直接操作来查看是最有效的

位运算

计算机现在可以存储所有的数字(整数、浮点数、字符)的运算!
2*8最高效的计算方式? :2<<3
很多底层的调试器,需要通过位来判断CPU的状态
与运算( and &):
相当于串联电路

1011 0001
1101 1000
————— &
1001 0000

或运算( or | ):
相当于并联电路

1011 0001
1101 1000
————— |
1111 1001

异或运算(xor ^)
相同为0 不相同为1

1011 0001
1101 1000
————— ^
0110 1001

非运算(not ~)
单目运算符,取反

1011 0001
————— ~
0100 1110

位运算(移动位)
左移:(shl << ) 全部位左移,高位丢弃,低位补0
右移:(shr >>) 全部位右移,低位丢弃,高位正数补0负数补1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值