第2章 8086微处理器与汇编语言——汇编语言.ppt

第2章 8086微处理器与汇编语言——汇编语言.ppt

  1. 1、本文档共67页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 8086微处理器与汇编语言——汇编语言

第2章 8086微处理器与汇编语言;学习目标;学习内容;汇编语言语句的种类及其格式;语句的格式;汇编语言数据;表达式与运算符;算术操作符应用之例;逻辑运算操作符 AND(逻辑与) OR(逻辑或) XOR(逻辑异或) NOT(逻辑非) ;AND DX , PORT_VAL OR 0FFH 汇编‘PORT_VAL OR 0FFH ’确定了外设端口号;关系运算符 EQ(等于)、NE(不等)、LT(小于)、 GT(大于)、 LE(小于或等于)、GE(大于或等于) 参与关系运算操作的两个操作数必须都同为数字或为同一段内的两个存储器地址。 计算的结果应为逻辑值: 结果为真,表示为FFFFH 结果为假,表示为0; MOV AX , 4 EQ 3 ; 结果为假 等价于 MOV AX , 0 MOV AX , 4 NE 3 ; 结果为真 等价于 MOV AX , 0FFFFH MOV BX , ((PORT_VAL LT 5)AND 20) OR ((PORT_VAL GE 5)AND 30) 当 PORT_VAL﹤5时, 汇编结果为: MOV BX , 20 否则,汇编结果为: MOV BX , 30;分析运算符;分析运算符应用之例; TYPE: 返回一个数值,表示存储器操作数的类型。 格式: TYPE 变量或标号 ;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。;若: 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;综合运算符;设已有数据定义如下 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类型。;FIRST_TYPE EQU THIS BYTE WORD_TABLE DW 100 DUP (?) FIRST_TYPE与WORD_TABLE的段,偏移地址均相同,但前者是BYTE类型,后者是WORD类型。;字节分离运算符LOW、HIGH 功能:分别得一个数值或地址表达式的低位和高位字节;伪指令;操作数字段的几种形式举例;00;操作数字段的几种形式举例;43;关于复制操作符DUP (duplication operator);符号定义的伪指令 表达式赋值伪指令EQU 格式: 名字 EQU 表达式 表达式可以是常数、符号、地址表达式、寄存器, 指令等; 表达式不允许重复定义。;等号 = 伪操作 “=”与“EQU”的功能一样, 但“=”操作允许表达式重复定义。;类型定义伪指令LABLE 格式:标号/变量 LABLE 类型 功能:对标号/变量的类型定义, 它的段地址和偏移地址与下一个存储器单元的相同。 变量类型: BYTE、 WORD、 DWORD 标号类型: NEAR、FAR;LABLE伪指令应用举例;段定义伪指令SEGMENT/ENDS;定位类型应用举例;段分配伪指令ASSUME;说明 ASSUME NOTHING的格式可取消前面由ASSUME所指定的段寄存器设置; ASSUME仅指示逻辑段与段寄存器的关系, 但并不对段寄存器赋值。;定义各逻辑段之例 data1 segment ? data1 ends data2 segment ? data2 ends ;过程定义PROC/END

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档