第2章 8086微处理器及汇编语言——_微机原理及单片机汇编语言.ppt

第2章 8086微处理器及汇编语言——_微机原理及单片机汇编语言.ppt

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

第2章 8086微处理器与汇编语言 汇编语言 学习目标 了解8086汇编语言格式以及伪指令的应用要求。 学习内容 汇编语言语句的种类及其格式 汇编语言数据 表达式与运算符 伪指令 汇编语言语句的种类及其格式 指令语句 能产生目标代码, CPU可以执行, 完成特定功能的语句, 由CPU指令组成。 指示语句(伪指令语句) 不产生目标代码, 仅是为汇编程序作指示的语句。 汇编语言数据 常量: 如立即数,直接寻址的地址,ASCⅡ码字符串等。 变量: 通常指存放在内存中的值,即内存操作数。 属性:段值(SEG)、段内偏移量(OFFSET)及类型(TYPE)。 类型:字节型(byte)、字型(word)和双字型(dword)。 表达式与运算符 表达式 表达式由常量(数值常量、符号常量、字符常量); 变量; 操作符(分析操作符、综合操作符)和运算符(算术运算符、逻辑运算符、关系运算符)组成。 运算符 算术运算符 —— + , - , * , / , MOD。 关系运算符 EQ(等于)、NE(不等)、LT(小于)、 GT(大于)、 LE(小于或等于)、GE(大于或等于) 参与关系运算操作的两个操作数必须都同为数字或为同一段内的两个存储器地址。 计算的结果应为逻辑值: 结果为真,表示为FFFFH 结果为假,表示为0 TYPE: 返回一个数值,表示存储器操作数的类型。 格式: TYPE 变量或标号 伪指令 数据定义伪指令语句 功能:定义变量的类型,分配空间并赋初值。 格式:[变量名] DB/DW/DD 操作数[,操作数…] [变量名] 是任选项,是数据单元的符号地址。 操作数的几种形式 操作数为常数,常数表达式或为字符(串) 操作数是“?”只定义存储空间,但不预存储数据 操作数是已定义的变量或标号 操作数字段的几种形式举例 符号定义的伪指令 表达式赋值伪指令EQU 格式: 名字 EQU 表达式 表达式可以是常数、符号、地址表达式、寄存器, 指令等; 表达式不允许重复定义。 等号 = 伪操作 “=”与“EQU”的功能一样, 但“=”操作允许表达式重复定义。 语句的格式 语句格式为: [名字] 〈助记符〉 [操作数] [;注释] 其中,〈助记符〉项为必要项, [ 方括号项]为可选项。 [名字] 可为作名字的字符有:字母A~Z, 数字0~9, 字符? 、@、_等。 数字不能放在名字之首。 在指令语句中,名字一般是标号。 伪指令语句中,名字通常是变量(名), 段名,过程名等。 标号:是某指令代码存放单元的符号地址,标号后必须有一个冒号“:” 标号的属性:段,偏移量,类型(FAR,NEAR) 变量(名)-某个存储器中数据单元或数据区的符号地址, 它代表数据单元或数据区。 变量有三种属性:段,偏移量,类型(BYTE,WORD,DWORD,QWORD) MOV DX , BLOCK+(6-1)﹡2 该指令语句等价于 MOV DX , BLOCK+10 算术操作符应用之例 数组ARRAY定义如下,试写出把数组长度(字数)存入CX寄存器的指令。 ARRAY DW 1, 2, 3, 4, 5, 6, 7 END DW ? END是为计算数组长度而建立的符号地址。 所需指令为: MOV CX , (END-ARRAY)/2 汇编后计算表达式而形成了指令 MOV CX , 7 逻辑运算操作符 AND(逻辑与) OR(逻辑或) XOR(逻辑异或) NOT(逻辑非) 它们只能用于数字表达式中 AND DX , PORT_VAL AND 0FEH 汇编‘PORT_VAL AND 0FEH ’确定了外设端口号 IN AL , PORT_VAL OUT PORT_VAL AND 0FEH , AL 当端口号PORT_VAL为偶数时, 输出端口号与之相同; 当PORT_VAL为奇数时, 输出端口号比输入端口号小1 逻辑运算操作符应用之例 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 关系运算操作符应用之例 分析运算符 SEG 格式:SEG 变量(名) 功能:取变量所在段的段基址 主要有:SEG , OFFESET , TYPE, SIZE , LENGTH OFFSET 格式:OFF

文档评论(0)

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

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

1亿VIP精品文档

相关文档