汇编语言中的程序段定义:构成程序的命令和数据的集合组
在高级编程语言的源代码中,即使指定和数据在编写时是分散的,编译后也会在段定义中集合汇总起来。
汇编语言和本地代码是一一对应的
通过调查本地代码的内容,可以了解程序最终是以何种形式来运行的。但是,直接打开地代码来看只是数据值的罗列。因此希望在各本地代码中,附带上表示其功能的英文单词缩写,即为助记符,使用这些助记符的编程语言称为汇编语言。
不过,即使是用汇编语言编写的源代码,最终也必须转换成本地代码才能实现。这个转换程序就是汇编器。
通过编译器输出汇编语言的源代码
除了将本地代码进行反汇编这一方法外,通过其他方式也可以获取汇编语言的源代码。大部分c语言编译器,都可以把利用c语言编写的源代码转换成汇编语言的源代码,而不是本地代码。
不会转换成本地代码的伪指令
汇编语言的源代码,是由转换成本地代码的指令和针对汇编器的伙指令构成的。伪指令负责把程序的构造及汇编的方法指示给汇编器。伪指令本身是无法汇编转换成本地代码的。
由伪指令 和 ends 围起来的部分,是给构成程序的命令和数据的集合体加上一个名字而得到的,称为段定义。段定义是一个连续的内存空间。段定义指的是命令和数据等程序的集合体的意思。一个程序由多个段定义构成。
汇编语言的语法是“操作码 + 操作数”
在汇编语言中,1行表示对CPU的一个指令。汇编语言指令的语法结构是操作码 + 操作数(也存在只有操作码,没有操作数的)。
能够使用何种形式的操作码,是由CPU的种类来决定的。
本地代码加载到内存后才能运行。内存中存储着构成本地代码的指令和数据。程序运行时,CPU会从内存中把指令和数据读出,然后再将其存储在CPU内部的寄存器中进行处理。
最常用的mov指令
指令中最常使用的是对寄存器和内存进行数据存储的mov指令。mov指令的两个操作数,分别用来指定数据的存储地和读出源。
对栈进行push和pop
程序运行时,会在内存上申请分配一个称为栈的数据空间。数据在存储时是从内存的下层(大的地址编号)逐渐往上层(小的地址编号)累积,读出时则是按照从上往下的顺利进行。
栈是存储临时数据的区域,它的特点是通过push指令和pop指令进行数据的存储和读出。
———END———
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,永久会员只需109元,全站资源免费下载 点击查看详情
站 长 微 信: nanadh666