汇编语言--基础篇

一、基本概念

概    念:是由助记符符号地址标号等书写程序的语言。

目    的:汇编语言源程序通过加工翻译(又叫做汇编)转换成机器语言。

实    质: 汇编程序是一种系统软件。IBMPC系统配置了两种汇编程序:ASM小汇编 、MASM宏汇编(主流)。

二、基本语法

1.字符集 

2.标识符 (首字母不能是数字,可以是字母问号@和下划线 )

3.保留字 (不能当做标识符使用)

4.语句   (指令语句和伪指令语句

  • 指令语句->产生目标代码。 [标号:]  [前缀] 指令助记符 [操作数] [;注释]
    • 标号:代表指令语句储存器地址.
    • 前缀:80x86特殊指令。必须与其他语句配合使用,例如段跨越前缀、重复前缀、总线封锁前缀以及操纵尺寸和寻址尺寸等,经过汇编后产生特殊前缀.
    • 指令助记符:80x86指令名称代表符号。指令操作类型。用于宏定义语句定义宏指令名.
    • 操作数:指令要处理的数据。可以是一个或者两个也可以没有,若有两个操作数前面的是目标操作数后面为源操作数,两者用都逗号隔开 .
    • 注释:是指令功能说明。以“ ; ”开始的字符串.
  • 伪指令语句->提供编译信息并指示程序某些操作语句,不产生目标代码。 [名字] 伪操作命令 [操作数] [;注释]
    • 名字:伪指令语句中的名子后面不能有“ ; ”语句中名子字可以是符号名、常量名、变量名、过程名、和段名等.
    • 伪操作命令:主要包括符号定义、变量定义、程序分段定义、过程定义、模块定义、宏定义以及后来扩充段简化定义和内存模式定义等命令.
    • 操作数:与指令语句有类似作用.
    • 注释:与指令语句有类似作用.

三、程序结构

分为四种类型的段:代码段、数据段、堆栈段和附加段 。(每个段在程序中的顺序没有先后,段的数目也不受限制,必须有段名 )

例1:单模块汇编语言程序结构

DATA SEGMENT               ;定义数据段

<数据定义伪指令序列>   

DATA ENDS DATA SEGMENT STACK  ;定义堆栈段

<数据定义伪指令序列>

STACK ENDS CODE SEGMENT      ;定义代码段

<程序段>

CODE ENDS

END 标号

注意:综合上述,用汇编语言编写的考程序,在结构上具有以下特点。

①由若干逻辑段组成,各逻辑段包含伪指令语句定义和说明。

②整个源程序以伪指令END结束。

③每个逻辑段由语句序列组成,各语句可以是指令语句、伪指令语句、宏指令语句、注释语句或空行。

四、处理过程

源程序—汇编程序−汇编语言源文件−机器语言目标文件−执行文件−结果

          ↓ 行汇编(汇编语言源程序逐行汇编,常见的IBM PC 动态调试DEBUG  中的A命令)

          ↓ 宏汇编(作为主流步骤1.建立源程序2.产生目标程序3.链接目标程序4.运行调试)

猜你喜欢

转载自www.cnblogs.com/blancheiii/p/9899272.html