(3)组定义伪指令 GROUP
格式:组名GROUP 段名[,段名,……]
功能:将GROUP定义符后指定的所有段分配在一个64KB的物理存储器段中,并赋予该段一个名字———组名。说明:
●组名是用户自己定义的名字,是指出组的起始地址的一种符号。这个符号必须是惟一的,不能与任何标号、段名及变量名等同名。
●段名是用SEGMENT语句定义的或者由SEG运算符得到的段名。
●组定义语句不影响各段的次序,因此组内各段不一定要连续存放,但它们都必须包含在64KB物理存储器段中。
●当源程序结构需要多个逻辑段时,使用该语句可节省段寄存器。
●实际应用中最好是让代码段为一组,堆栈段为一组,数据段为一组或两组,但组中各段所占用的内存储器的总量不超过64KB。
(4)指定地址伪指令 ORG格式:ORG 表达式
ORG $+偏移地址
功能:指定该语句之后程序段或数据块的起始地址的偏移量,即语句表达式的值作为起始地址,连续存放程序和数据,直到下一个ORG语句为止。
5.过程定义伪指令
在程序设计中,常把具有一定功能的程序段设计成为一个过程。过程是程序的一部分,它可以被程序调用。每次可调用一个过程,当过程中的指令执行完后,控制返回调用它的地方。过程定义语句的格式:
过程名 PROC [NEAR或FAR]
┇
(语句)
┇ RET
过程名 ENDP说明:
●过程名是给过程起的名字,调用过程时,过程名起标号的作用。
●伪指令PROC和ENDP必须成对出现,限定一个过程,并说明该过程是NEAR过程还是FAR过程。
●在宏汇编中,过程调用和从过程返回使用CALL和RET。
●有两种调用方式:段内调用和交*调用。如果以用段内CALL指令调用过程则必须用段内RET指令返回,这样的过程是NEAR过程,用段交*CALL指令调用过程,则必须做段交*RET指令返回,这样的过程是FAR过程。
●在一个过程中可以有多于一个的RET指令,并且过程中最后一条指令可以不是RET,但必须是一条转移过程中某处的转移指令。
●主程序和子程序都可以作为一个过程。
6.结束语句
格式:END 表达式
功能:结束整个源程序。
说明:表达式必须产生一个存储器地址。这个地址是当程序执行时,程序第一条要执行指令的地址。
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |