您好,欢迎来电子发烧友网! ,新用户?[免费注册]

当前位置:电子发烧友网 > 图书频道 > 电子 > 《计算机组成原理与汇编语言》 > 第3章 指令系统与汇编语言设计

第9节 汇编语言基础

3.9.1 汇编语言的语句格式

由汇编语言编写的源程序是由许多语句(也可称为汇编指令)组成的。每个语句由1~4个部分组成,

 其格式是:

 [标号]指令助记符[操作数][;注解]

 1.标号(也叫做名称)

这是给指令或某一存贮单元地址所起的名字,名称可由下列字符组成:

 字母:A~Z
 数字:0~9
 特殊字符:?、·、@、-、$

数字不能作名称的第一个字符,而圆点仅能用作第一个字符。标号最长为31个字符。当名称后跟冒号时,表示是标号。它代表该行指令的起始地址,

其它指令可以引用该标号,作转移的符号地址。当名称后不带冒号时,有可能是标号,也可能是变量。伪指令前的名称不加冒号,当标号用于段间调用时,

后面也不能跟冒号,

例如:

 段内调用 OUTPUT:IN AL,DX
 段间调用 OUTPUT IN AL,DX

 2. 指令助记符

它表示不同操作的指令,可以是8088的指令助记符,也可以是伪指令。如果指令带有前缀(如LOCK、REP、REPE/REPZ、REPNE/REPNZ),

则指令前缀和指令助记符要用空格分开。

 3. 操作数

  它是指令执行的对象。依指令的要求,可能有一个、两个或者没有,

   例如:

 标号 指令助记符 操作数 注解
 RET ;无操作数
 COUNT: INC CX ;一个操作数
 MOV CX,DI ;两个操作数

 如果是伪指令,则可能有多个操作数,
   
    例如:

     COST DB 3,4,5,6,7 ;5个操作数

当操作数超过1个时,操作数之间应用逗号分开。 操作数可以是常数、寄存器名、标号、变量,也可以是表达式,

   例如:

     MOV AX,[BP+4] ;第二个操作数为表达式

  请注意,操作数可以是表达式,这是IBM PC汇编中所特有的。 

  4.注解

该项可有可无,是为源程序所加的注解,用于提高程序的可读性。在注解前面要加分号,它可位于操作数之后,也可位于一行的开头。汇编时,对注解不
  
作处理,仅在列源程序清单时列出,供编程人员阅读,

    例如
    
    读端口B数据

     IN AL,PORTB ;读B口到AL中

    注解一般都使用英文,在支持汉字的操作系统中,也可使用中文。
   

3.9.2常数

1.二进制数

      二进制数字后跟字母B,如01000001B。

2.八进制数 八进制数字后跟字母Q或O,如202Q或202O。 3.十进制数

    十进制数字后跟D或不跟字母,如85D或85。

4.十六进制数

     十六进制数字后跟H,如56H,0FFH。注意,当数字的第一个字符是A~F时,在字符前应添加一个数字0,以示和变量的区别。

5.十进制浮点数

浮点十进制数的一个例子是:25E-2。

6.十六进制实数

十六进制实数后跟R,数字的位数必须是8,16或20。在第一位是0的情况下,数字的位数可以是9,17或21,如0FFFFFFFFR。 7.字符和字符串字符和字符串要求用单引

号括起来,如′BD′。