- 1
- 0
- 约4.01千字
- 约 40页
- 2022-11-02 发布于上海
- 举报
会计学;汇编语言的由来;3.1.1;3.1.1;3.1.1;3.1.1;3.1.1 汇编语言的源程序格式;一、简化段定义格式;二、 完整段定义格式;3.1.2 汇编语言的格式
由汇编语言编写的源程序是由许多语句(也可称为汇编指令)组成的。每个语句由1~4个部分组成,其格式是:
[标号] 指令助记符 [操作数] [;注解]
标识符:给指令或某一存储单元地址所起的名字。可由下列字符组成: 字母:A ~ z ; 数字:0 ~ 9 ; 特殊字符:?、· 、@、一、$ 。数字不能作标识符的第一个字符,而圆点仅能用作第??个字符。标识符最长为31个字符。当标识符后跟冒号时,表示是标号。它代表该行指令的起始地址;当标识符后不带冒号时,表示变量;伪指令前的标识符不加冒号。
指令助记符:表示不同操作的指令,可以是8086的指令助记符,也可以是伪指令。
操作数: 指令执行的对象。依指令的要求,可能有一个、两个或者没有。
注解:该项可有可无,是为源程序所加的注解,用于提高程序的可读性。 ;一、常量、变量和标号;1、常量;2、变量;3、标号;二、运算符和表达式
在表达式中,运算符充当着重要的角色。8086宏汇编有算术运算符、逻辑运算符、关系运算符、数值回送操作符和属性操作符共5种。
数值回送(Value_returning)操作符可以把一些特征或存储器地址的一部分作为数值回送。共有5个:SEG(求段基值)、OFFSET(求偏移量)、TYPE(求变量类型)、LENGTH(求字节数)和SIZE(求字节数)。其中LENGTH和SIZE只对数据存储器地址操作数有效。
属性操作符可以用来建立和临时改变变量或标号的类型以及存储器操作数的存储单元类型,而忽略当前的属性。共有6个:PTR、段属性前缀、SHORT、THIS、HIGH和LOW。
;3.4.3;3.4.3;3.4.3;伪指令;定义数据伪指令
符号定义伪指令
段定义伪指令
设定段寄存器伪指令
定义过程的伪指令
宏指令
ORG伪指令
汇编结束伪指令END
;定义数据伪指令
符号定义伪指令
段定义伪指令
设定段寄存器伪指令
定义过程的伪指令
宏指令
ORG伪指令
汇编结束伪指令END
;定义数据伪指令
该类伪指令用来定义存贮空间及其所存数据的长度。
DB:定义字节,即每个数据是1个字节。
DW:定义字,即每个数据占1个字(2个字节)。
DD:定义双字,即每个数据占2个字。低字部分在低地址,高字部分在高地址。
DQ:定义4字长,即每个数据占4个字。
DT:定义10个字节长,用于压缩式十进制数据。
例如:DATA1 DB 10H,6,78H,100
表示从DATA1单元开始连续存放10H,6,78H,100,共占4个字节地址。 ;定义数据伪指令
DATA1 DB 20H
DATA2 DW 0240H,1000H
DATA3 DB (-1*3),(15/5)
DATA4 DD 12345H
DATA5 DB 0123
DATA6 DW AB,C,D
DATA7 DB ?
DATA8 DD ?
DATA9 DB 5DUP(00)
DATA10 DW 3DUP(?);定义数据伪指令
符号定义伪指令
段定义伪指令
设定段寄存器伪指令
定义过程的伪指令
宏指令
ORG伪指令
汇编结束伪指令END
;符号定义伪指令
EQU伪指令给符号定义一个值。在程序中,凡是出现该符号的地方,汇编时均用其值代替,如:
COUNT EQU 100 ;COUNT代替常数100
SUM EQU 30*25 ;SUM代替数值表达式
C EQU CX ;C代替寄存器CX
M EQU MOV ;M代替指令助记符MOV
需要注意的是,一个符号一经EQU伪指令赋值后,在整个程序中,不允许再对同一符号重新赋值。
;定义数据伪指令
符号定义伪指令
段定义伪指令
设定段寄存器伪指令
定义过程的伪指令
宏指令
ORG伪指令
汇编结束伪指令END
;段定义伪指令
段定义伪指令的用途是在汇编语言程序中定义逻辑段,用它来指定段的名称和范围,并指明段的定位类型、组合类型及类别。常用的段定义为指令有SEGMENT和ENDS。
段名 SEGMENT [定位类型] [组合类型] [类别] …(段内语句系列)段名 ENDS;段定义伪指令
DATA1 SEGMENT
┇
DATA1 ENDS
STACK1 SEGMENT STACK
┇
STACK1 ENDS
CODE1 SEGMENT
原创力文档

文档评论(0)