编程级别
进制
十进制 逢十进一 0-9
二进制 逢二进一 0-1
八进制 逢八进一 0-7
十六进制 逢十六进一 0-9 a-f
每一种进制都是完美的,都有自己计算体系
数据宽度
有符号数 无符号数
原码反码补码
正数: 原码 反码 补码 一样
负数:原码
反码,最高位符号位 为1,其余位对原码取反
补码 符号位一定是1,对反码+1
位运算
- 与:&(汇编:and)
- 或:| (or)
- 异或: ^ (xor) 不一样就是1
- 非:~(not)
- 左移:<< ()高位丢弃,低位补0 n<<1 =n*2
- 右移: >>() 低位丢弃,高位补0,1(符号位决定) n>>1 = n/2
位运算加减乘除
计算机只会做加法
汇编学习
64位和32位的架构体系是一样的,64位多了很多寄存器,增大了寻址能力
学汇编不是为了写代码,是为了理解程序
学汇编需要掌握环境的配置:
- Vc6
- OD!
- 抓包工具
- 加密解密工具
汇编入门:了解汇编和程序的对应关系,程序的本质
通用寄存器
除了通用寄存器,其它寄存器每一位都有自己的功能
内存
寄存器很小,需要将数据存入内存中。(内存条)