汇编伪指令

伪指令语句:(指示性语句)在汇编时被解释执行,由汇编程序来处理的一类操作。

伪指令的格式

        格式:符号名  定义符  操作数;  注释

常用伪指令

1、符号定义伪指令(赋值语句)

(1)等值伪指令

        格式:符号名  EQU  表达式        (EQU定义不占用内存单元)

        功能:将表达式的值赋给符号名。

注意:符号名一旦被EQU定义,就不能再赋值,即不能用EQU再为符号名重新赋值。

(2)等号伪指令

        格式:符号名 = 表达式

        功能:将表达式的值赋给符号名。

        说明:可以在程序中不同的地方多次使用以重新为符号名赋值。

(3)定义符号名伪指令

        格式:符号名  LABEL  类型

        功能:定义一个标号或变量,并指定其类型。

2、数据定义伪指令

表达式——是赋给变量的初始值,可以有一个,也可以有多个。

(1)数值表达式

        实际上是为数据分配存储单元,并把变量名作为该存储单元的名称。若要定义多个相同类型的数据,可用逗号把这些数据隔开,并依次分配在相邻的存储单元。

        例如:BUF  DB  20H,30H

(2)ASCII字符串

        字符串必须用引号括起来,并且不超过256个字符,它们在内存中按地址递增顺序自左向右依次存放字符的ASCII码。

        例如:STRING  DB  'ABC'

(3)?——

        为数据项分配存储单元的一种方法,只是存储单元中不预置确定的值,常用来预留存储单元,存放程序的中间结果或最终结果。

        例如:RESULT  DB  ? ;预置一个字节单元,其值不定

(4)重复定义子句DUP——可以为若干个重复的字符或数字分配存储单元。

        格式:n  DUP(表达式)

        说明:n:重复次数        表达式:重复的内容

        例如:C  DB  100  DUP (0)

注意:(1)DUP操作可以嵌套。(2)在定义变量及存储单元的同时,也定义了它们的类型属性。同一数据定义语句所定义的各存储单元具有相同的类型。

3、段定义伪指令

4、段寄存器说明伪指令(只是声明)

        格式:ASSUME  段寄存器:段名【】

         功能:向汇编程序指示当前各段所用的段寄存器,设定段寄存器与段的对应关系。

注意:(1)、本伪指令只是指示各逻辑段使用寄存器的情况,并没有对段寄存器内容进行装填。段寄存器的实际值还要由MOV指令在程序中装填数据。

(2)、也可以用来取消段寄存器与段之间的对应关系(用NOTHING),然后再建立新的对应关系。

5、过程定义伪指令

        过程是程序的一部分,它可以被程序调用。每次可调用一个过程,当过程中的指令执行完后,控制返回调用它的地方。过程的定义就是用过程定义伪指令完成的。

6、模块定义及通信伪指令

(1)模块开始伪指令

        格式:NAME  模块名

        功能:指明程序模块的开始,并指出模块名。

        说明:模块名是自定义符,不能是系统保留字。若该项缺省,则取TITLE语句中的页标题6个字符;若没用TITLE语句,则取源程序文件名为模块名。

(2)模块结束伪指令

        格式:END  启动标号或过程名

        功能:END表示一个模块(源程序)的结束。一个汇编程序只能有一个。通知汇编程序源程序到此结束,并给出执行程序的入口位置。

注意:汇编处理只进行到END为止。

宏指令

宏定义的格式:  宏指令名  MACRO 【形参,形参,---】

                                        宏体

                                       ENDM

宏调用的格式为:宏指令名【实参,实参,---】 

        例如:为了实现ASCII码和BCD码之间的互相转换,往往需要把AL中的内容左移或右移4位。设左移4位,可用下列指令序列实现:

    

若多次使用,则可用一条宏指令来替代:

扩展内容

        ORG  偏移地址        声明偏移地址指令。

例如:ORG  0100H

           DATA1  DB .....

则上段代码表明DATA1从0100H为偏移地址的位置开始。

        $        取当前偏移地址指令。

例如:ORG  0100H

           DATA1  DW  1234H,$+1(偏移地址为0102H,加以后0103H,存入内存单元。)

则内存中为,34H,12H,03H,01H

 

 

 

 

  • 1
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值