文档介绍:微机原理与汇编语言
制作:薄静仪
电子工业出版社
第一节汇编语言的基本概念
1、指令:计算机完成某中操作的命令
2、程序:完成某种功能的指令序列
3、软件:各种程序总称
4、汇编语言程序建立步骤:
1)
2)
3)
4)
第二节汇编语言源程序的格式
一、分段结构
汇编语言源程序的结构是分段结构形式。
段名 SEGMENT
段名 ENDS
二、汇编语言语句的类型和格式
1、语句的类型:指令语句,伪指令语句,宏指令语句
2、语句的格式:
[名字] 助记符[操作数] [操作数] [操作数]。。。[;注释]
1)名字:一种符号地址
组成:a-z,A-Z,0-9,专用符号
限制:第一个字符不能为数字,“。”必须是第一个字符,
前31个字符有效,且不能为关键字
第二节汇编语言源程序的格式
类型:标号:指令符号地址
变量:指令数据地址
2、助记符:指令系统中指令的助记符或伪指令的定义符
组成:CPU指令,伪指令,宏指令
3、操作数:常量,寄存器,标号,变量,表达式
制定参与操作的数据,或数据所在单元地址。
1)常量:指令中出现的固定值,可以分为数值常量和字符串常量。
数值常数可以是二进制数、八进制数、十进制数、十六进制数
字符串常数:包括在单引号中的若干字符。
字符串在存储器中储存的是相应字符的ASCII码。
2)寄存器:8086/8088CPU的寄存器可以作为指令的操作数。
3)标号:标号代表一条指令的符号地址,可以作为转移、过程调用以及循环控制指令的操作数。
第二节汇编语言源程序的格式
4)变量:存储器中某个数据区的名字,在指令中可以作为存储器操作数
5)表达式:数值表达式,地址表达式
数值表达式产生一个数值结果,只有大小,没有属性
地址表达式的结果不是一个单纯的数值,而是一个表示存储器地址的变量或标号。
运算符:算术运算符,逻辑运算符,关系运算符,分析运算符,合成运算符,其他运算符
算术运算符:+,-,*,/,MOD
逻辑运算符:AND,OR,NOT,XOR
关系运算符:EQ,NE,LT,GT,LE,GT
功能:关系运算符的两个操作数的计算结果应为逻辑值,结果为真(关系成立),表示为0FFFFH,结果为假(关系不成立),表示为0。
例如:MOV AX,2 LT 7
(AX)=0FFFFH
第二节汇编语言源程序的格式
分析运算符:分析运算符可以把存储器操作数分解为他的组成部分,例如段基值,段内偏移量和类型。
SEG返回变量或标号的段地址运算符
格式:操作数 SEG 变量/标号
功能:将变量/标号所在段的段基值赋给操作数
OFFSET返回变量或标号的偏移地址运算符
格式:操作数 OFFSET 变量/标号
功能:将变量/标号所在段中的偏移值赋给操作数
TYPE返回变量或标号的类型值运算符
格式:操作数 TYPE 变量/标号
功能:将代表变量/标号类型的值赋给操作数
TYPE返回值与类型的关系
第二节汇编语言源程序的格式
TYPE返回值
存储器操作数的类型
1
BYTE
2
WORD
4
DWORD
-1
NEAR
-2
FAR
第二节汇编语言源程序的格式
LENGTH返回变量的单元数运算符
格式:操作数 LENGTH 变量
功能:将代表变量的单元数赋给操作数
说明: 1、返回一次数据定义的第一个元素的长度,DUP时返回重复次数,其他情况返回1。
2、对于变量中使用DUP的情况,汇编程序将会送分配给变量的单元数,(按类型TYPE算),而对于其他情况,则均送1。支队DUP定义的变量有意义,返回分配给该变量的元素的个数。只返回第一个DUP前的元素个数,与DUP括号内的数据无关,认为只是一组数据而已,若与DUP并列地定义了其它数据,就只能返回1。
SIZE返回变量的字节数运算符
格式:操作数 SIZE 变量
功能:将代表变量的字节数赋给操作数
说明:1、就是返回LENGTH*TYPE的结果
2、汇编程序将回送分配给改变量的字节数,只对DUP定义的变量有意义。
第二节汇编语言源程序的格式
合成运算符:可以用来建立或临时改变变量或标号的类型或存储器操作数的存储单元类型。合成运算符有PTR,THIS,SHORT等。
PTR临时改变类型属性运算符
格式:类型 PTR 变量/标号
功能:将PTR前面的类型临时赋给变量/标号,而原有段属性和偏移属
性保持不变,其本身并不分配存储单元。
说明:对于变量,可以指