- 1、本文档共54页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4.1 程序设计语言概述;4.2 8086/8088汇编语言的基本语法;DATA;START: ;4.2.2 8086/8088汇编语言语句;2 语句的格式;3)指令助记符
4)操作数表
操作数表可以是一个或两个操作数;对宏指令来说,可能有多个操作数。操作数之间用逗号分隔。
5)注释
以“;”开始,用来简要说明该指令在程序中的作用;;4.2.2.2 指令语句;1) 常量是指那些在汇编过程中已经有确定数值的量
2) 常量分数值常量和符号常量两种
3) 符号常量的定义需用伪操作命令(伪指令)“EQU”或“=”
4) 数值常量加后缀字符H表示十六进制,O或Q表示八进制,B表示二进制,D表示十进制,十进制常省略后缀。
例1: ONE EQU 1
DATA1=2*12H
MOV AX, DATA1+ONE
即把25H送AX。 ;5)一个能被计算并产生数值的表达式称为数值表达式;4、2 变量与地址表达式;DATA SEGMENT
BB DB 20H
AA DW 20H,-30H
DATA ENDS; 数值表达式:在汇编时产生一数值,仅具有大小而无其他属性,可作为执行性指令中的立即操作数和数据区中的初值使用。
地址表达式:它表示存储器地址,其值一般都是段内的偏移地址,因此它具有段属性、偏移值属性、类型属性。地址表达式主要用来表示执行性指令中的多种形式的操作数。
;地址表达式中可以使用的运算符及使用规则:
A 加法和减法运算符(+、-)
变量或标号可以加上或减去某个结果为整数的数值表达式,其结果仍为变量或标号,类型及段地址属性不变,仅修改偏移值属性。 ;c、PTR运算符;例:INC BYTE PTR ES:[BP+3]
ES:为跨段前缀,冒号“:”前的ES段寄存器指明了操作数当前所在的段为附加数据段。
这时,操作数的物理地址将由ES中的内容左移4位与偏移地址[BP+3]相加而求得。
此句表示将附加数据段中偏移地址为[BP+3]的内存单元中的数据加1后仍保留在该单元中。
如果没有跨段前缀“ES:”,那么,由[BP+3]地址表达式所表示的偏移地址将被系统默认为是在堆栈段中。;(3)运算符综述
IBM宏汇编中有5种运算符,即:
算术运算符(Arithmetic operators)
逻辑运算符(Logical operators)
关系运算符(Relational operators)
分析运算符(Analytic operators)
合成运算符(Synthetic operators) ;4.2.2.3 伪指令语句;DSEG SEGMENT
TABLE DW 12
DW 34
DATA1 DB 5
TABLE2 DW 67
DW 89
DW 1011
DATA2 DB 12
RATES DW 1314
OTHRAT DD 1718
DSEG ENDS; 这段程序用DB、DW和DD定义了若干变量,根据上述对数据定义命令的约定,则各变量及其属性可列于表4.5中:
所有变量的段属性(分量)均为DSEG。DW、DB、DD右边的表达式或数值即相应存储单元中的内容;“DW 变量” 语句表示利用该变量的偏移量来初始化相应的存储字;“DD 变量”语句表示利用该变量的段分量和偏移量来初始化相应的两个连续的存储字,低位字中是偏移量,高位字中是段分量。; FOO SEGMENT AT 55H
ZERO DB 0
ONE DW ONE ;内容为0001H
TWO DD TWO ;内容
;即高位字为55H,低位字为3
FOUR DW FOUR+5 ;内容为7+5=12
SIX DW ZERO_TWO ;内容为0-3=-3
ATE DB 5*6 ;内容为30
FOO ENDS; STRING1 DB ′HELLO ′
STRING2 DB ′AB ′
STRING3 DW ′AB ′;2、 符号定义伪指令 P140;3)可以给由地址表达式指出的任意存储单元定义一个名字。
格式:
符号名 EQU 地址表达式
符号名可以是“变量”或“标号”,取决于地址表达式的类型。
4)用来为汇编语言中的任何符号定义一个新的名字。
格式:
新的名字 EQU 原符号名
5)使用E
文档评论(0)