- 0
- 0
- 约2.34万字
- 约 104页
- 2022-09-07 发布于上海
- 举报
汇编语言:用指令的助记符、符号地址、标
号、伪指令等符号书写的语言。
汇编语言源程序: 用汇编语言编写的程序。
汇编: 把汇编语言源程序自动翻译成机器
语言(目的程序)的过程。
汇编程序:完成汇编任务程序。
;汇编语言源程序;5.1 汇编语言的语句格式;(1)名字
这是给指令或某一存储单元地址所起的名称,常作为一段程序的开头,一个数据块的开头。
在指令语句中这个名字是一个标号,语句中的标号实质上是指令的符号地址。并非每条指令语句必须有标号,但如果一条指令前面有一标号,则程序中其他地方就可以引用这个标号。
标号使用要注意:
①标号可以由字母、数字和下划线组合,一个标号的最大长度不能超过31个字符。
②标号不能以数字开头,但数字可以出现在标号符的中间或末尾。
;标号有三种属性:段、偏移量和类型。
① 标号的段属性是定义标号在程序段的段地址。当程序中引用一个标号时,该标号的段值应在CS寄存器中。
② 标号的偏移量属性表示标号所在段的起始地址到定义该标号的地址之间的字节数。偏移量是一个16位无符号数。
③ 标号的类型属性有两种:NEAR和FAR。前一种标号可以在段内被引用,地址指针为2字节;后一种标号可以在其他段被引用,地址指针为4字节。如果定义一个标号时后跟冒号,则汇编程序确认其类型为NEAR。
; 伪指令语句中的名字可以是变量名、段名、过程名。与指令语句中的标号不同,不同的伪指令对于是否有名字有不同的规定。伪指令语句的名字后面通常不跟冒号,这是它和标号的一个明显区别。
很多情况下伪指令语句中的名字是变量名。变量名代表存储器中一个数据区的名字。例如,例5.1中的DATA1、DATA2就是变量名。
; 变量也有三种属性:段、偏移量和类型。
① 变量的段属性是变量所代表的数据区所在段的段地址。由于数据区一般在存储器的数据段中,因此变量的段地址常常在DS和ES寄存器中。
② 变量的偏移量属性是该变量所在段的起始地址与变量的地址之间的字节数。
③ 变量的类型属性有BYTE(字节)、WORD(字)、 DWORD (双字)、 QWORD (四字)、TBYTE(十字)等,表示数据区中存取操作对象的大小。 ;(2)助记符
助记符是表示不同操作的指令,可以是指令的助记符,也可以是伪指令。
(3)操作数
操作数是指令执行的对象。
(4)注释
在汇编语言源程序中,为了便于理解和阅读程序,常常加上注释。注释要用分号打头,在汇编过程中,对注释不做处理。
标号 助记符 操作数 注释
MOV AL,BL
RET ; 子程序返回指令
START: MOV AX, DATA ;以START标号为程序开头
ABC EQU 2000H ; 将2000H赋值给ABC;5.2 常数; ⑤实数:它由整数、小数和指数3部分组成。如:5.421E-4
⑥字符串常数:用单引号括起来的一个或多个字符,这些字符以ASCII码形式存储在内存中。如:‘ABC’,在内存中就是41H、42H、43H。
5.3 伪指令
伪指令用来为汇编程序提供某些信息,让汇编程序在汇编过程中执行某些特定的功能。如伪指令可以指定一个程序的数据段从哪里开始,可以指定堆栈区的大小,等等。
伪指令与指令的本质差别是,在汇编过程中伪指令并不形成任何代码,不直接命令CPU去执行什么操作,伪指令是给汇编程序的命令,在汇编过程中由汇编程序进行处理,如分配存储区、定义段等。; 常用的伪指令有以下几种:
1. 标号赋值伪指令EQU
EQU伪指令用来对一个标号赋值。例如:
ABC EQU 2400H ;使ABC为数值2400H
STR EQU 64*1024
2.定义存储单元的伪指令DB、DW、DD、DQ、DT
伪指令DB和DW等用来给出程序中所需要的数据、字符串、地址表
您可能关注的文档
最近下载
- 2021年贵州省贵阳市中考物理试题【含答案解析】.pdf VIP
- 强化学习 课件全套 余欣航 第1--8章 强化学习概述--- 基于模型的强化学习基础.pptx
- 日本蜡烛图技术完整珍藏演示文稿.ppt VIP
- 2025年陕西省中考数学试卷真题及答案详解(精校打印版).pdf VIP
- 缠中说禅 教你炒股108讲座.doc
- 2025至2030中国光隔离器行业运营态势与投资前景调查研究报告.docx VIP
- 农艺师考试(技术及理论)知识试题(含答案).pdf VIP
- 2025年汉阳区小升初语文元调试卷及答案.docx VIP
- 2024年贵州省中考理综物理试题(含答案解析).pdf
- 2024-2025汉阳区六年级元调英语试卷.doc VIP
原创力文档

文档评论(0)