微机原理及应用CH4 MASM汇编语言基础.ppt
文本预览下载声明
第4章 MASM汇编语言基础; Intel8086/8088系列微机的汇编程序MASM,是美国Microsoft公司开发较早的宏汇编程序,它不仅具有ASM的全部功能(支持基本汇编语言),而且增加了指令、结构、记录等高级宏汇编功能。
语句(Statement)是汇编语言源程序的基本组成单位。一个汇编语言源程序有三种基本语句:指令语句、伪指令语句、宏指令语句。; 每一条指令语句在汇编时都要产生一个可供机器执行的目标代码,这种语句也被称为可执行语句。指令语句的格式如图4.1所示:
图4.1 指令语句的格式;一条指令语句有如下4个字段:;3.操作数字段
按照指令助记符字段要求,指令语句可以有一个操作数、两个操作数或无操作数。;§4.1.2 伪指令语句;图4.2 伪指令语句的格式;一条伪指令语句也有如下4个字段:;3.操作数字段
本字段是否需要,需要几个,需要什么样的操作数等都???伪指令字段中伪指令来确定。
4.注释字段
这是一个任选字段,它必须以分号为开始,它的作用与指令语句的注释字段相同。; §4.2.1 常量
凡是出现在8086源程序中的固定值(即在汇编期间,它的值已经能够完全确定,在程序运行期间,它的值也不会发生任何的变化),就称为常量。 ;1.十进制常量:0~9数字序列,可以用字母D结尾,也可没有结尾字母。
2.二进制常量:以字母B结尾的0和1组成的数字序列。
3.八进制常量:以字母O或Q结尾的0~7数字序列。
4.十六进制常量:以字母H结尾的0~9和A~F(或a~f)的数字字母序列。
5.字符串常量:用单引号或双引号括起来的一个或多个字符,这些字符用它的ASCII码值存储在内存中。;变量就是用来表示程序中所用的内存操作数。;常用的有以下几种:;(1)段属性SEG
它表示变量存放在哪一个逻辑段中。
(2)偏移量属性OFFSET
表示变量在逻辑段中离段起始点的字节距离。(3)类型属性TYPE
表示变量占用存储单元的字节数,它由类型助记符DB、DW、DD、DQ来规定。;; 对于DB伪指令,为字符串中每个字符分配一个字节单元。字符串必须是引号括起来的不超过255个字符。;对于DD伪指令,仅可给两个字符组成的字符串分配4个字节的单元,且这两个ASCII码是存储在两个低字节(存储顺序与DW伪指令相同)中,两个高字节均存放00H。 ;(4)带DUP表达式:DUP是定义重复数据操作符,在操作数部分的格式为:
重复次数 DUP(重复的内容);; 2.标号的三个属性:
(1)段属性:表示这条指令的目标代码在哪个逻辑段中。
(2)偏移量属性:表示这条指令目标代码的首字节在段内离段起始点的字节距离。
(3)距离属性(或类型属性)。 ;§4.3.1 算术运算符
算术运算符有+(加)、-(减)、*(乘)、/(整除)、MOD(求余),参加运算的数和运算结果均是整数。 ; 这6个关系运算符分别是:GT(大于)、GE(大于等于)、LT(小于)、LE(小于等于)、EQ(等于)、和NE(不等于)。它们用于比较两个表达式,表达式一定是常数或同段内的变量。若是常数,按无符号数比较;若是变量则比较它们的偏移量。比较的结果为以真,表示为全1;结果为假,表示为全0。;1.SEG
格式:SEG 变量名或标号
当运算符SEG加在一个变量名或标号前面时,汇编程序回送的运算结果是这个变量或标号所在的段的段基址。;3.TYPE
格式:TYPE 变量名或标号
如果是变量,则汇编程序将回送该变量的以字节数表示的类型:DB为1,DW为2,DD为4,DQ为8。如果是标号,则汇编程序将回送代表该标号类型的数值:NEAR为-1,FAR为-2。;5.SIZE
格式:SIZE 变量名
运算符SIZE加在变量的前面,汇编程序回送的值等于LENGTH和TYPE两个运算符返回值的乘积。; 这种运算符是对变量、标号或某存储器的类型属性进行修改指定,它主要有PTR、段跨越前缀、SHORT、HIGH和LOW等5种。;1.PTR
格式:类型 PTR 地址表达式
其中,地址表达式是指要修改类型属性的标号或存储器操作数。如果它是标号,则与之对应的类型有:NEAR、FAR;如果它是存储器操作数,则与之对应的类型有:BYTE、WORD、DWORD。 ;2.段跨越前缀
它是在存储器操作数之前加上段寄存器名和冒号用于强行指定此存储器操作数相对哪个段寄存器,共有4种:DS:、CS:、SS:和ES: ;4.HIGH/LOW
格式
显示全部