Linux 学习汇编语言
我正在尝试学习汇编语言,但我需要帮助学习每个命令的用途。下面是使用它们的程序Linux 学习汇编语言,linux,assembly,att,Linux,Assembly,Att,我正在尝试学习汇编语言,但我需要帮助学习每个命令的用途。下面是使用它们的程序 push %ebp mov %esp,%ebp sub $0x10,%esp mov 0x8(%ebp),%eax add $0x1,%eax mov %eax,-0x4(%ebp) mov -0x4(%ebp),%eax leave ret 这是一本非常适合你的书: 只需快速搜索一下,就可以得到以下x86汇编语言的参考 你为什么想学汇编语言是另
push %ebp
mov %esp,%ebp
sub $0x10,%esp
mov 0x8(%ebp),%eax
add $0x1,%eax
mov %eax,-0x4(%ebp)
mov -0x4(%ebp),%eax
leave
ret
这是一本非常适合你的书:
只需快速搜索一下,就可以得到以下x86汇编语言的参考
你为什么想学汇编语言是另一回事 一本非常基础的汇编语言入门读物: 首先,您应该知道汇编语言与特定处理器(CPU)或处理器系列相关。例如,问题中显示的代码片段似乎是针对英特尔x86体系结构的。这一点很重要,因为许多汇编语言指令作用于CPU寄存器的内容,或基于CPU寄存器的内容。因此,在深入研究单个指令的细节之前,您应该熟悉CPU的体系结构,即可用寄存器的名称和特征以及它们的角色(其中一些寄存器本质上是通用的,但另一些具有非常特定的角色)。体系结构的另一部分是外部内存位置的寻址方式 其次,汇编语言指令的种类很少:
- 流量控制指令(测试、跳转、返回[来自子程序]等)
- 数据复制说明(将内存内容移动到注册表和/或内存中/从注册表和/或内存中移动)
- 堆栈管理指令(这是一种特殊的数据复制指令,也作用于名为SP的堆栈指针,一个特殊寄存器)
- 算术指令(加、减、乘等)
- 布尔运算(移位[寄存器内容]、位and、位or等)