逆向- 1) 汇编 - 0x04 加减乘除

0x00 加法运算
    4+5
    0000 0100 
    0000 0101
    ---------    XOR
    0000 0001    (没有进位的结果)
    
    0000 0100    
    0000 0101
    ---------    AND
    0000 0100    (不为0,有进位)
    ---------    << 1
    0000 1000    (进位值)
    
    0000 0001    (没有进位的结果)
    0000 1000    (进位值)
    ---------    XOR    -> 判断是否有进位
    0000 1001    -> 没有进位最终结果(有进位继续重复AND,左移,XOR)
    
  A+B
    A XOR B -> C    出去进位的结果    
    A AND B -> D     进位的位;    D=0 C为最终结果;    D≠0,向下运算
    SHL D, 1        进位的值
    C -> A, D -> B    
    A+B                重复A+B过程

    
0x01 减法运算
    4-5 = 4 + (-5) = 4 + 0xFB
    
    0000 0100
    1111 1011
    ---------    XOR
    1111 1111
    
    0000 0100
    1111 1011
    ---------    AND
    0000 0000
    
    1111 1111 -> 最终结果 0xFF = -1
    
    减法就是加这个数的相反数
    
0x02 乘法
    X * Y本质是加法 -> X个Y或Y个X相加
    有限次循环加法

0x03 除法
    X / Y本质是减法 -> X可以减去多少个Y
    无限次循环减法,直到结果小于被除数,也就得到了余数
    
0x04 总结
    计算机只认识0 和 1,只会做位运算,不会进行 + - * /等基本运算.
    通过位运算衍生出加法运算,通过加法运算衍生出 减法/乘法/除法运算.
    基于四则运算计算机可以完成一系列更复杂的运算.
    
    数据宽度 -> 有/无符号数 -> 位运算 -> 四则运算
    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值