汇编知识
汇编语言的主要学习点:
- 寄存器
- 汇编代码
1. 汇编语言的种类
- 8086汇编(16bit)
- x86汇编(32bit)
- x64汇编(64bit)
- ARM汇编(嵌入式、移动设备)
- ……
- X64汇编根据编译器的不同,有2种书写格式(intel、AT&T)
- 汇编语言不区分大小写
2. intel格式与AT&T格式的比较
3. 寄存器
4. 内联汇编(在C++程序中写汇编代码)
//基本格式(在32位编译器中适用):
__asm {
mov eax, 10H
mov ebx, 20H
}
5. x64汇编要点总结
- 程序中,局部变量的地址总在变,而全局变量地址不变。
- 内存中数据的存储是从低位到高位。
- 存储完数据后,取数据(读数据)就会区分大、小端模式。
- 小端模式(低字节放在低地址,高字节放在高地址):
- lea指令:load effective address(装载有效地址值)
- inc指令:increase
- dec指令:decrease
- jmp指令:jump
- jne指令:jump not equal(如果比较结果不相等则跳转,后面加地址值)
参考书籍:intel白皮书
6. 变量地址总结
- 一个变量的地址值,是它所有字节地址中的最小值。