第10章的标题是通过汇编语言认识程序的真面目。汇编语言和本机代码是一一对应的,即使是用汇编语言编写的原来码最终也必须转换成本机代码才能运行,用来完成这种转换的程序称为汇编器这个转换的过程称为汇编用汇编语言编写的源代码和本机代码是一一对应的因此我们也可以将本机代码反过来转换成汇编语言的源代码具有这种反向转换功能的程序称为反汇编器这种反向转换的过程称为反汇编因为c语言源代码和本机代码并不是11对应的所以我们并不能保证得到和编译之前相同的源代码。汇编语言源代码中的指令分为两种,一种是会被转换成本机代码的,一般指令另一种是专门针对汇编器的伪指令为指令,负责告诉汇编器程序的结构和汇编的方法因此被称为汇编程序指令。用于向寄存器和内存存放数据的mo,vl指令可以说是最常用的指令。Mac指令有两个操作数分别表示数据取出和存放的目标位置操作数可以是数值标签寄存器明我们也可以在他们的左右两边分别加上原括号来使用栈是临时存放数据的内存空间。当需要在栈中存放多个数据时,需要以esp寄存器所指向的地址为起点计算出数据应该存放在哪个位置,然后将数据写入该地址。必调用函数的工作原理的重点是从站中取出参数并进行运算,将返回值存入e ax寄存器以及从站中取出返回目标地址并按流程返回c语言中的变量分为两种,在函数外部声明的变量称为全局变量。在其内部称为局部变量全局变量可以在程序的所有函数中访问,而局部变量只能在声明它的函数中访问而且要注意编译后的程序会被分成段比如说一个存放指令的段和一个存放数据的段。
标签:10,汇编器,读书笔记,汇编语言,程序,指令,源代码,本机 From: https://www.cnblogs.com/shy1226/p/18032397