《微机原理与应用》第四章汇编语言程序设计[09年].pptVIP

《微机原理与应用》第四章汇编语言程序设计[09年].ppt

  1. 1、本文档共140页,可阅读全部内容。
  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文档。上传文档
查看更多
《微机原理与应用》第四章汇编语言程序设计[09年]

《微机原理与接口技术》 主讲 易凡 wdyifan@163.com 武汉大学物理学院电子科学与技术系;第四章 汇编语言程序设计;4.1 汇编语言的基本概念;4.1.1 汇编语言程序的一般概念(续);汇编程序的主要功能;4.1.2 上机的步骤;4.2 汇编语言程序格式;4.2.2 语句的格式;4.2.2 语句的格式;表达式: 是常数、寄存器、标号、变量与一些操作符相组合的序列。分数字表达式和地址表达式两种。数字表达式产生一个数值结果,地址表达式产生一个地址。;4.2.3 操作符;算术操作符应用之例;逻辑运算操作符 AND(逻辑与) OR(逻辑或), XOR(逻辑异或) NOT(逻辑非) 。;例4.4 AND DX , PORT_VAL AND 0FEH 汇编‘PORT_VAL AND 0FEH ’确定了外设端口号;关系运算操作符 EQ(等于)、NE(不等)、LT(小于)、GT(大于)、 LE(小于或等于)、GE(大于或等于) 参与关系运算操作的两个操作数必须都同为数字或为同一段内的两个存储器地址。 计算的结果应为逻辑值: 结果为真,表示为FFFFH 结果为假,表示为0;例4.5: MOV AX , 4 EQ 3 ; 结果为假 等价于 MOV AX , 0 MOV AX , 4 NE 3 ; 结果为真 等价于 MOV AX , 0FFFFH 例4.6 MOV BX , ((PORT_VAL LT 5)AND 20) OR ((PORT_VAL GE 5)AND 30) 当 PORT_VAL﹤5时, 汇编结果为: MOV BX , 30 否则,汇编结果为: MOV BX , 20;分析运算符;分析运算符应用之例;分析运算符(续);例4.10 : VAR DW ? ; VAR为字变量 ARRAY DD 10 DUP(?) ;ARRAY为双字变量 STR DB ‘THIS IS TEST ’ ; STR为字节变量 ? MOV AX , TYPE VAR ; (AX) ← 2 MOV BX , TYPE ARRAY ; (BX) ← 4 MOV CX , TYPE STR ; (CX) ← 1;LENGTH 格式:LENGTH 变量(名) 功能:取重复定义(DUP)的复制次数, 若不是DUP定 义,则取数值1。;例4.13 若: FEES DW 100 DUP (?) 则 TYPE FEES = 2 LENGTH FEES = 100 SIZE FEES=(LENGTH FEES)×(TYPE FEES)=100×2=200 所以 MOV CX , SIZE FEES 汇编后: MOV CX , 200;综合运算符;例4.15 设已有数据定义如下 TWO_BYTE DW ? 可用以下语句对这两个字节赋予另一种类型定义 ONE_BYTE EQU BYTE PTR TWO_BYTE OTHER_BYTE EQU BYTE PTR (TWO_BYTE+1) OTHER_BYTE EQU BYTE PTR ONE_BYTE+1 ONE_BYTE与TWO_BYTE 皆为符号地址 它们的段和偏移量属性相同,但类型属性不同,前者是BYTE类型,后者是WORD类型。;例4.16 FIRST_TYPE EQU THIS BYTE WORD_TABLE DW 100 DUP (?) FIRST_TYPE与WORD_TABLE的段,偏移地址均相同,但前者是BYTE类型,后者是WORD类型。;字节分离运算符LOW、HIGH 功能:分别得一个数值或地址表达式的低位和高位字节;4.3 伪指令语句;数据定义伪指令语句;操作数字段的几种形式举例;00;操作数是字符串;43;--;关于复制操作符DUP (duplication operator);;操作数是已定义的变量或标号;符号定义的伪指令;等号 = 伪操作 “=”与“EQU”的功能一样, 但“=”操作允许表达式重复定义;类型定义伪指令LABLE 格式:标号/变量 LABLE 类型 功能:对标号/变量的类型定义, 它的段地址和偏 移地址与下一个存储器单元的相同。 变量类型: BYTE、 WORD、 DWORD 标号类型: NEAR、FAR;LABLE伪指令应用举例;段定义伪指令SEGMENT/ENDS;定位类型-对本逻辑段边界定位;定位类型应用举例;DATA2 SEGMINT

文档评论(0)

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

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

1亿VIP精品文档

相关文档