WEB开发网
开发学院软件开发汇编语言 汇编中的伪操作 阅读

汇编中的伪操作

 2007-11-13 09:31:19 来源:WEB开发网   
核心提示:四、程序开始和结束伪操作 在程序的开始可以用NAME或TITLE为模块取名字,NAME的格式是: NAME module_name汇编程序将以给出的module_name作为模块的名字.如果程序中没有NAME伪操作,则也可使用TITLE伪操作,其格式为: TITLE textTITLE伪操作可指定每一页上

四、程序开始和结束伪操作
   在程序的开始可以用NAME或TITLE为模块取名字,NAME的格式是:
    NAME module_name
汇编程序将以给出的module_name作为模块的名字.如果程序中没有NAME伪操作,则也可使用TITLE伪操作,其格式为:
    TITLE text
TITLE伪操作可指定每一页上打印的标题.同时,如果程序中没有使用NAME伪操作,则汇编程序将用text中的前六个字符作为模块名.text最多可以60个字符.如果程序既无NAME又无TITLE伪操作,则将用源程序文件名作为模块名.
   表示源程序结束的伪操作的格式为:
     END [label]
其中标号指示程序开始执行的起始地址.如果多个程序模块相连接,则只有主程序要使用标号,其他子程序模块则只用END而不必指定标号.

五、对准伪操作
.EVEN伪操作使下一个字节地址成为偶数.一个字的地址最好从偶地址开始,所以对于字数组为保证其从偶地址开始,可以在它前面用EVEN伪操作来达到这一目的,例如:
DATA   SEGMENT
     ...
     EVEN
WORDAY  DW   100 DUP(?)
     ...
DATA   ENDS
.ORG Constant expression
如常数表达式的值为n,则ORG伪操作可以使下一个字节的地址为常数表达式的值n.
   地址计数器的值可以用$来表示,汇编语言允许用户直接用$来引用地址计数器的值,因此:
  ORG $+8
可以表示跳过8个字节的存储区.
   JMP $+2
可以表示一条空指令,该指令只是延迟处理机的一些时间,而无其他功能.

六、基数控制伪操作
   汇编程序默认的数为十进制数,因而除非专门指定,汇编程序把程序中出现的数均看作十进制数,为此,当使用其他基数表示的常数时,需要专门以标记如下:
   .二进制数:由一串0、1组成其后跟以字母B,如00101100B
   .十进制数:由0~9的数字组成。一般情况下后面不必加上标记,在指定其他基数的情况下,后面可跟字节字母D,如178D。
   .十六进制数:由0~9及A~F组成的数,后面跟字母H。这个数的第一个字符必须是0~9,所以如果第一个字符是A~F时,应在其前加上数字0,如0FFFFH。
   .八进制数:由数字0~7组成的数,后面可跟字母O或Q,如1777Q。
   .RADIX伪操作,可以把默认的基数改变为2~16范围内的任何基数,其格式如下:
  .RADIX  expression
其中表达式用来表示基数值(用十进制表示)。
例如:
   MOV   BX,OFFH
   MOV   BX,178

   .RADIX 16
   MOV   BX,0FF
   MOV   BX,178D
是等价的。应当注意,在用.RADIX 16把基数定为十六进制后,十进制数后都应跟字母D。在这种情况下,如果某个十六进制数的末字符为D,则应在其后跟字母H,以免与十进制数发生混淆。
.字符串可以看成串常,可以用单引号或双引号把字符串放在其中,得到的是字符串的ACSII值,例如:‘ABCD’。
六、过程定义伪操作
格式为:
   procedure_name   PROC  Attribute
            .
            .
            .
   procedure_name   ENDP
其中过程名为标识符,它又子程序入口的符号地址,它的写法与标号的写相同.属性(Attribute)是指类型属性,它可以是NEAR或FAR.段内调用使用NEAR属性,段间调用使用FAR属性

上一页  1 2 

Tags:汇编 操作

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接