已阅读5页,还剩86页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2020/6/6,上海交通大学,1,21世纪课程教材,国家“十一五”普通高等教育规划教材,孙德主编维信-吉苏-新姬叔(第4版),2020/6/6,上海交通大学,2,第5章8086教学体系,2020/6/6,上海交通大学,3,8086教学体系,5.18086教学地址模式5.28086教学简要分析,2020/6由于编程的需要,在大多数情况下,指令并不直接给出操作数的值,而是给出存储操作数的地址寄存器的地址或存储单元的地址。在许多情况下,操作数的地址不是直接给出的,但给出了计算操作数地址的方法。当计算机执行程序时,根据指令给出的寻址模式计算操作数的地址,然后从地址中取出操作数以执行指令操作码指定的操作,并将操作结果发送到指定的目标操作数。一般来说,计算机的寻址方式越丰富,指令系统的功能就越强,工作的灵活性就越大。2020/6/6,上海交通大学,58086条指令的寻址模式,六种寻址模式:立即寻址、寄存器寻址、存储器寻址、串行操作寻址、外围输入输出端口寻址和程序传输操作寻址。变化最大的是内存寻址,可分为直接寻址寄存器、间接寻址基址、索引基址、索引基址。注意:根据寻址方法计算的地址只是段内的有效地址EA偏移地址。该地址必须与段的段基值相结合,以形成20位物理地址。2020/6/6,上海交通大学,6,1,即时寻址。立即寻址指令直接给出操作数值,即指令机器码的最后1或2字节是操作数-立即。立即数只能用作源操作数。在汇编代码指令中,可以使用十六进制数(以H结尾)、二进制数(以B结尾)和十进制数(没有特殊符号),也可以使用由撇号“”括起来的ASCII字符和字符串。请注意,如果十六进制数以字母a到f开头,必须在它前面加上一个“0”,这是汇编程序的要求。由于直接从指令中获得立即数,检索速度更快。这种寻址方法通常用于给寄存器或存储器分配初始值。2020/6/6,上海交通大学,7,2,注册地址。操作数在寄存器中,即寄存器的内容是操作数的值。在串联指令中,操作数由寄存器的符号表示。例如,INCAX,其功能是AX 1AX。这种类型的寻址指令具有最短的机器代码字节,因为区分8个通用寄存器只需要3个代码。此外,由于寄存器在微处理器芯片内部,整个操作都在微处理器内部进行,不需要执行总线周期来访问存储器,所以其执行速度最快。在8086的寄存器寻址中,可用寄存器是通用寄存器和段寄存器,可用作源寄存器或/和目标寄存器。例如,“MOVDS,AX”。”,2020/6/6,上海交通大学,8,3,记忆敷料。对于内存寻址的指令,操作数在内存中。在指令操作中,存储器操作数进出微处理器需要总线。当欧盟读取或写入内存操作数时,它必须将一个偏移地址转移到BIU。BIU在地址操作后生成一个20位物理地址,然后执行访问操作数所需的总线周期。由EU为内存操作数计算的偏移量称为操作数的有效地址EA,它是一个16位无符号数字,表示操作数所在的内存位置和段的起始地址之间的距离(以字节为单位)。2020/6/6,上海交通大学,9,存储器寻址,存储器寻址指令可以访问由基址寄存器内容或/和索引寄存器内容或/和有效地址EA结合DISP值确定的存储器位置。其中,DISP(Disposition)是位移量,它是指令中包含的8位或16位DISP,根据操作数名称(变量或标签)在程序中的位置计算得出,程序员可以修改或指定该值。2020/6/6,上海交通大学,10,根据其有效地址EA的形成方法可分为以下几种,1)直接寻址2)寄存器间接寻址3)基址寻址4)索引寻址5)基址索引寻址,2020/6/6,上海交通大学,11,1)直接寻址,该指令直接给出操作数的偏移地址,这跟随着操作码。例如,在INCBYTEPTR04A3H指令中,存储器操作数的偏移地址是4A3H。直接寻址指令的另一种表示形式是INCADDR,其中指令中存储器操作数的地址由符号地址(变量)ADDR表示。2020/6/6,上海交通大学,12,2)注册地址。存储器操作数的有效地址直接取自基址寄存器(BX)或索引寄存器(国际单位制或国际单位制)。例如,BX。2020/6/6,上海交通大学,13,3) BasedAddressing,它将基寄存器BX或BP的内容作为参考地址,并在指令中给出一个地址位移D(D8或D16),它们组合在一起得到存储器操作数的有效地址。在汇编代码指令中有几种表示有效地址的方法:(1)BX(或英国石油公司)D,其中D是一个常数,如INCBYTEPTR英国石油公司4。(2) D Bx(或英国石油公司),其中D是一个变量或常数,如印加DDR Bx。当使用BP作为基址时,如果没有指定的段替换,地址将被构建到堆栈段中。如果d是常数,则表示为有符号二进制数,可以是8位或16位值。当D是8位值时,位移必须在有效地址计算中进行符号扩展。2020/6/6,上海交通大学,14,4)索引寻址。指令中给出的偏移量D作为参考地址,作为存储器操作数的有效地址被添加到索引寄存器SI(或DI)的内容中。汇编代码指令中的有效地址由和表示,其中d与基地址的地址具有相同的含义。基址寻址和索引寻址也称为寄存器相对寻址。2020/6/6,上海交通大学,15,5) BasedIndexedAddressing,基址寄存器BX(或BP)存储参考地址,索引寄存器SI(或DI)存储索引值,指令给出另一个位移D,它们一起形成存储器操作数的有效地址。其中,D可以是8位或16位,也可以是零。如果是8位数字,计算时应进行符号扩展。2020/6/6,上海交通大学,16,基址索引地址,汇码指令中的有效地址有两种表示法:1,(或BP) Si(或DI) D,例如,INCBYTEPTR DI 4;2,d bx(或bp) si(或di),例如,in addrbx si。当使用BP作为基址时,指定当前堆栈内的寻址。包含D项的基址寻址方法也称为相对基址寻址方法。2020/6/6,上海交通大学,17,4,程序转移寻址。当指令被顺序执行时,下一条指令的偏移地址总是自动递增指令指针IP。当程序在这一段内传输时,需要给出要传输以供执行的指令的偏移地址,并用来替换IP中的原始内容。如果要传输以供执行的指令与原始指令不在同一段中,则新代码段的段基值需要替换CS中的原始内容。此时,操作数被用作传输地址,并分别发送到IP和CS。2020/6/6,上海交通大学,18,程序转移寻址。程序转移寻址用于条件转移指令、无条件转移指令、循环指令和转子指令(调用指令)。根据目的地址的形式,程序转移寻址可分为以下几种类型。2020/6/6,上海交通大学,19,1)相对寻址,以IP的内容作为参考地址,加上紧接着指令操作码之后的相对位移D,以获得转移地址的偏移地址。传输地址的偏移地址是IP地址,d是有符号的二进制数。当d为8位时,转移范围为-128 128;当d为16位数字时,转移范围为-32768 32767(注意:不能交叉)。例如,条件分支指令JEA和无条件分支指令JMPADDR中的a和ADDR是分支地址的标签。这种寻址方法也称为段内直接传输。相对寻址,2020/6/6,上海交通大学,20,2020/6/6,上海交通大学,21,2)寄存器寻址,寄存器的内容作为转移地址的偏移地址。例如,“JMPBX”,在BX的内容是偏移地址。2020/6/6,上海交通大学,22,3),包括上述存储器操作数中的寄存器间接寻址、索引寻址、基址寻址和基址索引寻址。通过这些寻址方法获得的操作数是转移地址的偏移地址。例如,(EA)(EA是有效地址)。指令中的BX和BX西都表示该段中的间接分支地址是一个偏移地址。2020/6/6,上海交通大学,23,4)段间直接传输寻址。程序从一个代码段到另一个代码段的转移称为段间转移。实现段间传输不仅需要改变IP中的指令偏移地址,还需要改变CS中的段基值。这种寻址模式的分支指令有两个16位地址,第一个地址是分支地址的偏移值,第二个地址是分支地址的段基值。直接段间转移寻址,2020/6/6,上海交通大学,24,2020/6/6,上海交通大学,25,5)间接段间转移寻址。在这种寻址方式的传输指令中,实现段间传输所需的两个16位地址可以通过数据存储的任何间接寻址方式获得,传输编码指令的形式为JMPDWordPtr EA。段间间接转移寻址,2020/6/6,上海交通大学,26,2020/6/6,上海交通大学,27,5.28086指令分析,8086汇编代码指令(即汇编语言指令)有100多条(按助记符计算),按功能可分为数据转移指令,算术运算指令,位处理指令,字符串运算指令,程序转移指令和处理器控制指令,共6大类,2020/6/6,上海数据传输指令(共14条),2020/6/6,上海交通大学,29条,数据传输指令(共14条),src/s源,dest/d目的寄存器,mem/m内存(内存)sreg段寄存器,B字节,W字,2020/6/6,上海交通大学,30条,数据传输指令(续),1)MOVdest,src(B/W);ds2)PushSRc(W);SPSP-2(标准普尔1)(标准普尔)标准普尔(西);SPSP 23)XCHGdest,src(英国/英国);Destsrc(两个操作数的交换),2020/6/6,上海交通大学,31,数据传输指令(续),4。XLAT(B)XLAT变量名/表格标题地址(b) al bxal 5.learig16,mem(w);条例16 Easrc(LeaLoadEffectiveAddress)6。除了XCHG和XLAT外,变速器是COPY和src.7不变。除了POPF、SAHFSAHF、法国。2020/6/6,上海交通大学,32,5.2.2。算术运算指令(20),2020/6/6,上海交通大学,33,2020/6/6,上海交通大学,34,算术运算指令(续),1)加法指令ADDdest,srcB/W函数:destdest srcADCdest,srcB/W函数:dest destsrcfdest和src可以是有符号数或无符号数。INCdestB/Wdest 1 INC指令不影响cf,2020/6/6,上海交通大学,35,算术运算指令(续),2)减法指令子程序,srcB/W函数:目标目标src目标,srcB/W函数:destdestsrccfcm pdest,src。B/W功能:dest-SRCDecdest;B/W函数:dest destdest-1DEC指令不影响cf,2020/6/6,上海交通大学,36,负dest;B/W函数:dest0dest,即对dest 1NEG指令的三种理解:l)dest补码(所有位均反加l);2)dest变为负值;3)零减去dest。2020/6/6,上海交通大学,37,算术运算指令(续),3)DAA校正指令,DAS当添加或减去BCD代码时,必须在加法指令和减法指令之后添加DAA指令(加法)或DAS指令。DAA指令,格式:DAA(后面必须跟有加法和模数转换器指令)函数:操作数是累加器A1,它是隐式的,并纠正加法结果校正规则是:如果AL的低4位是9或AF=1,那么ALAL 06H和AF1AL的高4位是9或CF=1,那么ALAL 60H和CF1。注意:的状态位是不确定的,其余的状态位随操作结果而变化。2020/6/6,上海交通大学,38,DAS指令,格式:DAS(必须跟随SUB,SBB指令)函数:操作数是累加器AL,这是隐式的。校正了压缩后的铝中的BCD数的相减结果。修改后的规则与DAA指令相同。注:与DAA说明书相同。2020/6/6,上海交通大学,39,2020/6/6,上海交通大学,40,算术运算指令(续),4)乘法和除法指令(乘法)当r/m为8位时,指令运算为A1,当r/m为16位时,A1 * r/m发送AX,指令运算为AX。AX*r/m发送DX_AX(DX_AX代表由DX和AX组成的32位寄存器),2020/6/6,上海交通大学,41,算术运算指令(续),乘法和除法指令(除法)DIVr/m(B/W)当r/m为8位时,指令运算为AX/(r/m)B,结果商发送AL,余数发送AH;当r/m为16位时,指令操作为DX _ AX/(r/m) w,结果商发送至AX,余数发送至DX。2020/6/6,上海交通大学,42,算术运算指令(续),5)扩展指令CBW;铝被转换成铝,铝=铝钙水;AX被转换为DXAX,DX_AX=AX是符号扩展。2020/6/6,上海交通大学,43,5.2.3。位处理指令(14),2020/6/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030葡萄酒制造业品牌营销策略分析市场投入回报深度研究
- 4定昆明玻璃钢化粪池采购合同6篇
- 2025年电子商务发展趋势知识普及试题及答案解析
- 2026年劳务合作合同
- 2026年医疗医院防雷设施司法鉴定合同
- 2026年游艇租赁合同
- 2026年市场分析与营销策略研究试题
- 网络安全技术考试试题集2026版
- 2026年厨师职业技能等级认证模拟题
- 2026年网络安全与数据保护实务指导题
- (一诊)重庆市九龙坡区区2026届高三学业质量调研抽测(第一次)物理试题
- 2026年榆能集团陕西精益化工有限公司招聘备考题库完整答案详解
- 2026广东省环境科学研究院招聘专业技术人员16人笔试参考题库及答案解析
- 2026年保安员理论考试题库
- 2025年人保保险业车险查勘定损人员岗位技能考试题及答案
- 被动关节活动训练
- GB/T 5781-2025紧固件六角头螺栓全螺纹C级
- 江苏省徐州市2022-2023学年高一上学期期末抽测政治试题(原卷版)
- 地基处理施工中的安全风险与防范
- 人教版六年级科学上期末测试题(2份)有答案
- 食品安全全球标准BRCGS第9版内部审核全套记录
评论
0/150
提交评论