全球旧事资料 分类
用时,类型属性有NEAR和FAR两种;与DB等伪指令语句连用,可以使同一个数据区既有BYTE属性,
又有WORD属性和DWORD属性,这样在以后的程序中根据不同的需要分别以字节或字为单位存取其中的数据。
LABEL伪指令具体使用如下:
DATAWLABELWORD
;变量DATAW类型为WORD
DATABDB20DUP
;变量DATAB类型为BYTE
MOVDATAW,AX
;按字存入
MOVDATAB2,AL
;按字节存入
LABEL伪指令也可以将属性已经定义为NEAR的标号再定义为FAR属性。例如:
ABCFLABELFAR
;过程入口远程调用
ABCMOVAX,0000H;过程入口段内调用
上面的过程既可用标号ABC在本段调用,也可以用标号ABCF被其他段调用。
243段定义伪指令
段定义伪指令在汇编语言源程序中定义逻辑段。常用的段定义伪指令有ASSUME、SEGMENT和ENDS等。
1段定义伪指令SEGMENT和ENDS
SEGMENT和ENDS伪指令用于定义一个逻辑段,给逻辑段赋予个段名,并在后面的任选项中给出这个逻辑段的其他特性,如定位类型、组合类型和类别。
段定义伪指令格式如下:段名SEGMENT定位类型组合类型‘类别’┊段名ENDS
说明:SEGMENT伪指令定义一个逻辑段的开始,ENDS伪指令则表示一个逻辑段的结束,这两个伪指令总是成对出现,而且前面的段名必须一致。两个伪指令语句之间的部分是该逻辑段的内容。汇编语言的逻辑段包括代码段、数据段和堆栈段等。代码段主要是程序指令和某些伪指令;数据段用于定义数据和存储单元;堆栈段为堆栈操作预留出存储空间。
SEGMENT伪指令后面可以有三个任选项:1定位类型定位类型任选项是告诉汇编程序如何确定逻辑段的边界在存储器中的位置,定位类型有四种:
①BYTE表示逻辑段边界可以从任何一个字节开始。②WORD表示逻辑段边界从字地址开始,这样该逻辑段的起始地址必须是偶数。③PARA表示逻辑段边界从节地址开始,16个字节称为一个节。如果省略定位类型任选项,汇编语言程序默认该逻辑段为PARA。④PAGE表示逻辑段边界地址从页边界开始,256个字节称为一个页。
f2组合类型SEGMENT伪指令的第二个任选项是组合类型,它告诉连接程序,装入存储器时各个逻辑段如何
进行组合。组合类型有6种。
①NONE此项为不组合,如果编程时省略SEGMENT伪指令的组合类型。
②PUBLIC汇编程序连接时,将不同程序模块中具有相同的类别名的逻辑段顺序连接成一个逻辑段装入
内存。
③STACK组合类型为STACK时,编译程序把所有同名段连接成一个连续的堆栈段。
④COMMON该组合类型产生一个覆盖段。模块连接时,如果有相同的类别名,则都从同一个地址r
好听全球资料 返回顶部