公开课
- 进制转换
- 汇编如何工作的
- 逻辑运算
- 二进制逻辑运算
- || 运算 和 | 运算
- && 运算 和 & 运算
- ^(异或) 运算
- ! (非)运算
- 左移
- 二进制逻辑运算应用
- 加法运算
- 运算与电脑硬件
- 进行加密
- 寄存器
- 内存
- 寻址范围
- 使用内存
- 寻址公式
- 堆栈
- 变形的艺术
进制转换
二进制十六进制如何转换的
汇编如何工作的
逻辑运算
二进制逻辑运算
|| 运算 和 | 运算
或运算
.本质就是上图的电路.只要有一个通了.那么这个灯泡就亮了
&& 运算 和 & 运算
只有两个电路同时接通的时候,灯泡才会亮
^(异或) 运算
不一样的时候,结果为1
! (非)运算
0就是1,1就是0
左移
所有的数向左移动n位,在右边补上n个0
二进制逻辑运算应用
加法运算
X: 0010
+ Y: 0011
----------------------
1. 先进行异或
一样是0,不一样是1
0010
xor 0011
------------------- R: 0001
0001
结果是 0001 ; R = 0001
2. 这个加法是否运算完毕
0010
and 0011
------------------- R2: 0010
0010
R2: 0010
3. 在左移
0010 << 1 == 0100 R3: 0100
R3: 0100
判断 R3 结果是不是 0000.不是的话重复上一步
大概就是CPU计算任何运算都需要判断借位与进位.
如果发生了借位与进位的话.则需要急需运算下去
PS : 看不懂也没关系. 这是公开课
运算与电脑硬件
上图的R X Y,存储在寄存器以及内存条中
进行加密
略...
寄存器
内存
每个内存宽度是8bit.1Byte.
0x00000000 在内存地址中是低位. 0xffffffff 是高位
寻址范围
使用内存
MOV
LEA
寻址公式
MOV [立即数]
MOV [REG]
MOV [REG + 立即数]
MOV [REG + REG * {1,2,4,8]] 只能是 1,2,4,8.跟硬编码有关
堆栈
变形的艺术
push eax
的本质
pop eax
大概就是这些.