- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 8086微处理器与汇编语言——_微机原理及单片机汇编语言
第2章 8086微处理器与汇编语言;学习目标;学习内容;汇编语言语句的种类及其格式;语句的格式;汇编语言数据;表达式与运算符;算术操作符应用之例;逻辑运算操作符
AND(逻辑与)
OR(逻辑或)
XOR(逻辑异或)
NOT(逻辑非) ;AND DX , PORT_VAL AND 0FEH
汇编‘PORT_VAL AND 0FEH ’确定了外设端口号;关系运算符
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;符号定义的伪指令
表达式赋值伪指令EQU
格式: 名字 EQU 表达式
表达式可以是常数、符号、地址表达式、寄存器, 指令等;
表达式不允许重复定义。
;等号 = 伪操作
“=”与“EQU”的功能一样, 但“=”操作允许表达式重复定义。;;;;;;
文档评论(0)