微机原理及应用CH4 MASM汇编语言基础.pptVIP

  1. 1、本文档共61页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第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 格式:H

您可能关注的文档

文档评论(0)

yigang0925 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档