文档介绍:母亲卡
第4章汇编语言程序格式
伪指令
汇编语言程序格式
汇编语句表达式
DOS系统功能调用
综合举例
上机安排
开始
伪指令
数据定义伪指令
符号定义伪指令
段定义伪指令SEGMENT/ENDS
假定伪指令ASSUME
地址计数器$与ORG伪指令
源程序结束伪指令
返回本章首页
数据定义伪指令
常用的数据定义伪指令有DB,DW,DD,DQ,DT。
格式:[变量名] 数据定义伪指令表达式[,…]
功能:定义数据存储区,类型由数据定义伪指令确定,初值由表达式给定。
返回本节
符号定义伪指令
格式:符号名 EQU 表达式
功能:为常量、表达式及其他各种符号定义一个等价的符号名,但它不申请存储单元。
用途:①用符号表示常量、数值表达式,即定义符号常量。使用符号常量可使程序简单明了,增强程序的可读性和通用性。
② EQU与属性运算符PTR或THIS联合使用,可以给变量或标号定义新的类型属性并重新命名,但保持其段偏移地址属性不变。
③利用EQU可以用一个符号名替代一个复杂的地址表达式和其他一些符号,如指令助记符、变量名、标号、段名、寄存器名、宏定义名等。
格式:符号名= 表达式
功能:为常量、表达式及其他各种符号定义一个等价的符号名,并能对所定义的符号多次重复定义,且以最后一次定义的值为准。
【】定义等价符号名。
┆
COST = 20
M = MOV
LOST = LOST+10 ;30→LOST
M = ADD ;M=ADD
┆
格式:变量名或标号 LABEL 类型
功能:定义与原有变量类型不同的新变量或为指令语句定义有指定类型的标号。通常与数据定义伪指令连用,其功能类似语句“变量名或标号 EQU THIS 类型”。
【】定义新类型的变量。
┆
DDBUF LABEL DWORD
BUF DB 200 DUP(0)
┆
A LABEL FAR
B: LEA DX,BUF
┆
返回本节
段定义伪指令SEGMENT/ENDS
段名是为该段起的名字,用来指出汇编程序为该段分配的存储区起始位置。
(1)PARA:表示本段必须从能被16整除的地址处开始存放,即段起始地址最低四位必须是0。
(2)WORD:表示本段要从一个偶数地址处开始存放,即段起始地址的最低一位必须是0。
(3)BYTE:表示本段起始地址可以从任一地址处开始存放。
(4)PAGE:表示本段要从能被256整除的地址处开始存放,即起始地址的最低八位必须是0。
【】对连接程序进行连接后存储区各段相对位置分布。
DATA1 SEGMENT ‘DATA’
CODE SEGMENT ‘CODE’
STACK1 SEGMENT ‘STACK’
DATA2 SEGMENT ‘DATA’
STACK2 SEGMENT ‘STACK’
经连接程序连接后,各段的相对位置如下:
DATA1 SEGMENT ‘DATA’
DATA2 SEGMENT ‘DATA’
STACK1 SEGMENT ‘STACK’
STACK2 SEGMENT ‘STACK’
CODE SEGMENT ‘CODE’
:在引号中给出连接时组成段组的类型名。类别说明并不能把相同类别的段合并起来,但在连接后形成的装入模块中,可以把他们的位置靠在一起。