- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
和操作数.ppt
教学内容 ;学习要求 ;第4章 80x86指令系统 ;4.1 8086/8088指令系统 ;4.1.1 8086/8088指令格式;根据操作数的个数,指令格式可分为以下几种:
1. 零操作数指令
指令格式中没有操作数或操作数是隐含约定的。
2. 一操作数指令
指令格式中有一个操作数,或还有一个隐含的操作数(实际上是双操作数)。
3. 二操作数指令
指令中有两个操作数,其中一个为目的操作数,另一个为源操作数。;由此可见,操作数可分为源操作数和目的操作数。
源操作数:只能读取的操作数。
目的操作数:即可读取又可写入(存放操作结果)的操作数。
操作数又可分为两大类:数据操作数和地址操作数。;1.数据操作数
这类操作数是与数据有关的操作数,即指令中要操作的对象是数据。数据操作数又可分为立即数操作数、寄存器操作数、存储器操作数和I/O操作数。;2. 地址操作数
这类操作数是与程序转移地址有关的操作数,即指令中要操作的对象不是数据,而是要转移的目的地址。
地址操作数也可分为立即数操作数、寄存器操作数和存储器操作数,即要转移的目的地址包含在指令中,或存放在寄存器中,或存放在存储器单元之中。;指令长度与字长的关系;一条指令中的信息按其含义分成若干个信息段,每一信息段占一个字节或多个字节,且按一定的顺序排列,这便于CPU解释执行。如8086/8088CPU的指令系统,它采用1~6个指令字节的变字长指令格式:
;8086/8088 指令(编码)格式;8086/8088指令编码由1~6个字节组成,它包括操作码(第一字节)、寻址方式(第二字节)和操作数(第三到第六字节)三部分组成。;;例:写出下面指令的机器语言编码。
MOV [BX+DI-6],CL;000000DW;4.1.2 8086/8088的寻址方式
所谓寻址方式就是寻找操作数存放地址(位置)的方法。在8086/8088系统中操作数存放的位置用以下3种:
⑴ 操作数包含在指令字节中。即指令格式中操作数部分就是操作数本身。这种操作数叫立即数操作数。
⑵ 操作数存放在CPU的某个内部寄存器中。这种操作数叫寄存器操作数。
⑶ 操作数在内存的数据区中。这种操作数叫存储器操作数。
;在8086/8088系统中,操作数又可分为两大类:数据操作数和??址操作数。因此,寻址方式也分为数据寻址方式和地址寻址方式两大类。
1. 数据的寻址方式
1)立即数寻址方式
例如:MOV AL, 80H MOV AX, 1234H;2)寄存器寻址方式
例如:MOV AX, CX;3)存储器寻址方式
存储器寻址方式的操作数存放在存储器单元中。因此,要存取操作数就必须知道其存储器的单元地址。在指令中可以直接给出或间接给出操作数的地址,以达到存取操作数的目的。
指令中给出的地址只是操作数的有效地址(EA),并且是放在方括号(“[ ]”)中。若要从存储器中存取操作数还须得到实际的地址(物理地址)。物理地址=段基址左移四位+有效地址; 有效地址可以由以下三种地址分量组成:
● 位移量(Displacement):它是存放在指令中的一个8位或16位的数,但它不是立即数,而是一个地址。
● 基址(Base Address):它是存放在基址寄存器BX或BP中的内容。
● 变址(Index Addess):它是存放在变址寄存器SI或DI中的内容。
对于某条具体指令,这三个地址分量可有不同的组合。如果存在两个或两个以上的分量,那么就需要进行加法运算,求出操作数的有效地址(EA),进而求出物理地址(PA)。正是因为这三种地址分量有不同的组合,才使得对存储器操作数的寻址产生了若干种不同的方式。 ;3)存储器寻址方式
⑴直接寻址方式 MOV AL, [1064],设当前(DS)=2000H; 如果没有特殊指明,直接寻址方式的操作数一般在存储器的数据段中,即隐含的段寄存器是DS。但是8086/8088也允许段超越,此时需要在指令中特别标明,方法是在有关操作数的前面写上操作数所在段的段寄存器名,再加上冒号。例如,若以上指令中源操作数不在数据段而在附加数据段中,则指令应写为如下形式:
MOV AL,ES:[1064H]
在汇编语言指令中,可以用符号地址来表示位移量。例如:
MOV AL,[value] 或MOV AL,value
此时value为存储单元的符号地址。 ;50;3)存储器寻址方式——⑶ 寄存器相对寻址
MOV CL, [BX+1064H];3)存储器寻址方式——⑷ 基址加变址寻址方式
MOV AH, [BP][SI];3)存储器寻址方式——⑸ 基址加变址相对寻址
MOV [BX+DI+1234H
您可能关注的文档
- 单位申请制卡操作指南.doc
- 单元8课件.ppt.ppt
- 单元操作实验课程须知丙.ppt
- 单片机实验环境的安装和配置-广东机电职业技术学院.doc
- 南京医科大学七年制医学硕士专业学位论文要求.doc-江苏省口腔医院.doc
- 南京的兴衰起伏.ppt
- 南宁师范高等专科学校.doc
- 南开大学工程硕士生开题报告登记表学号2220110696啊姓名刘冰.doc
- 南开大学工程硕士生开题报告登记表学号2220130570啊姓名蒋.doc
- 南航仪器设备招标文件-南京航空航天大学.doc
- 绿色环保产业扶持资金申请报告:2025年城市绿化项目资金申报要点.docx
- 氢能燃料电池汽车氢能源产业链投资机会与风险分析.docx
- 三四线城市房地产市场2025年绿色建筑与可持续发展研究报告.docx
- 宁德时代新能源电池产能布局下的产能扩张与产能利用率提升策略报告.docx
- 智能交通与出行:新能源汽车充电基础设施发展态势分析.docx
- 医药流通企业仓储布局与供应链风险管理优化报告2025.docx
- 银发旅居产业未来五年展望与目的地网络布局策略研究报告.docx
- 美团生活服务行业数据化运营研究报告.docx
- 银发旅游市场产品创新趋势分析:2025年市场发展与竞争格局研究报告.docx
- 2025年XX行业产业链上下游企业竞争力对比报告.docx
文档评论(0)