[理学]05_8086指令系统.ppt_第1页
[理学]05_8086指令系统.ppt_第2页
[理学]05_8086指令系统.ppt_第3页
[理学]05_8086指令系统.ppt_第4页
[理学]05_8086指令系统.ppt_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、8086系统中储存器的逻辑地址和物理地址之间有什么关系?写出存储器地址3FB0H:0053H的段地址、偏移地址和物理地址。 2、某程序数据段中存有两个数据1234H和5A6BH,若已知DS=5AA0H,它们的偏移地址分别为245AH和3245H,试画出它们在储存器中的存放情况。,练习题,第4章 8086指令系统,指令的基本格式 8086的7种寻址方式(难点) 8086常用的指令(重点),数据传送指令 算术指令 逻辑指令 串处理指令 控制转移指令 处理机控制指令,指令的基本概念,指令:使计算机完成某种操作的命令,例1. MOV AX,5000 例2. MOV AX,DATA1 例3. MOV AX,DS:0020H,例4. ADD AX,5000 例5. NOT DX 例6. IN AL,40H OUT 58H,AX,指令系统,指该计算机能够执行的全部指令的集合,每种计算机都有它支持的指令集合,8086指令系统是X86系列CPU的基础,指令的组成,指令由操作码和操作数两部分组成 操作码说明计算机要执行的操作,不可缺少 操作数是指令中的操作对象,指令中的操作数的来源: 要么是某个具体数值 要么是某个寄存器 要么是内存中某个存储单元,指令的寻址方式,寻址:寻找操作数的过程。尤其是对于操作数来源于存储器的情况,最常用,也最复杂。 操作数采取哪一种寻址方式,会影响机器运行的速度和效率,如何寻址一个操作数对程序设计很重要,与数据有关的寻址方式,一、立即寻址,二、寄存器寻址,三、存储器寻址,1.直接寻址,2.寄存器间接寻址,3.寄存器相对寻址,4.基址变址寻址,5.相对基址变址寻址,一、立即寻址,指令中的操作数直接就是具体的数,这种操作数被称为立即数,MOV AL,0EH 意思是AL0EH ;指令执行完后结果就是 (AL)=00001110 ADD DX,156 意思是(DX) (DX)+156,立即数寻址方式常用来给寄存器赋值,二、寄存器寻址,所谓寄存器寻址,即操作数就在寄存器中 例如:,MOV BX , AX 意思是 (BX)(AX) 假设指令执行之前 (AX)=1234H,(BX)=5678H 那么指令执行之后 (AX)=1234H,(BX)=1234H,前2种寻址方式简洁高效,简单易懂,三、存储器寻址,1.直接寻址,2.寄存器间接寻址,3.寄存器相对寻址,4.基址变址寻址,5.相对基址变址寻址,指令中给出是操作数的地址值,即偏移地址,也称为有效地址EA(Effctive Address),而段地址一般默认DS段寄存器,1.直接寻址,有效地址EA在指令中直接给出 默认的段地址在DS段寄存器中 MOV AX,0200H 意思是AX(DS:0200H) 即 AX(1000H:0200H) 结果是(AX)=1C3AH,ADD AX,0200H,10000H,10001H,10002H,00000H,FFFFFH,假设(DS)=1000H,10200H,3AH,1CH,数 据 段,直接寻址,例子:假设(AX)=1212H,BUF为数据段内某个符号地址,其值是2000H,(DS)=3000H,(32000H)=4545H。 执行指令:MOV AX ,BUF 那么指令执行后(AX)=?,解答:分析指令内容可知,操作数之一为寄存器,另一个来自存储器,其偏移地址已经直接给出,因此属于直接寻址。即AX (DS:BUF), AX (3000H:2000H),AX (32000H),因此 (AX)=4545H,2.寄存器间接寻址,有效地址EA在寄存器中, 具体是BX、BP或SI、DI。 默认的段地址在DS段寄存器中 MOV AX,BX 意思是AX(DS:BX) 即 AX(1000H:0200H) 结果是(AX)=1C3AH,10000H,10001H,10002H,00000H,FFFFFH,10200H,3AH,1CH,数 据 段,假设(DS)=1000H (BX)=0200H,ADD AX,BX,2.寄存器间接寻址,BX、BP:基址寄存器 DI、SI:变址寄存器,该方法特点: 只要修改寄存器的值,就可以访问某个段内的任意存储单元的内容,3.寄存器相对寻址,有效地址EA是寄存器内容 与某个位移量之和,寄存器 可以是BX、BP或SI、DI 即:有效地址EA =(BX)+位移量,MOV AX,BX0008H 意思是AX(DS:(BX)+0008H) 即 AX(1000H:0208H) 结果是(AX)=2D05H,假设(DS)=1000H (BX)=0200H,10000H,10001H,10002H,00000H,FFFFFH,10200H,3AH,1CH,数 据 段,10208H,05H,2DH,该方法特点: 只要有序(如递增或递减)修改寄存器的值,就可以访问某个段内的一片连续存储单元的内容,非常适合于类似高级语言中数组的应用,3.寄存器相对寻址,10000H,10001H,10002H,00000H,FFFFFH,xx,yy,zz,位移量,首地址,其它语法格式: MOV AX,BX+0008H MOV AX,cntBX 备注:在汇编语言中,常采用符号来代表某个偏移地址值,如上例中的 cnt 就是符号地址,3.寄存器相对寻址,10000H,10001H,10002H,00000H,FFFFFH,xx,yy,zz,cnt,首地址,4.基址变址寻址,有效地址EA由基址寄存器(BX或BP)的内容 加上变址寄存器(SI或DI)的内容构成: 有效地址EA(BX)/(BP)(SI)/(DI),MOV AX,BXSI MOV AX,BPDI,备注: 当采用BX作为基址寄存器时,默认段寄存器为DS 当采用BP作为基址寄存器时,默认段寄存器为SS,5.相对基址变址寻址,有效地址EA是基址寄存器(BX/BP), 变址寄存器(SI/DI)与某个位移量之和: 有效地址(BX)/(BP)(SI)/(DI)位移量,MOV AX,MASKBXSI,假设 MASK=0020H,(BX)=2000H,(SI)=1000H,(DS)=3000H 意思是AX(3000H:0200H+2000H+1000H) 即 AX(33200H),存储器寻址方式小结,MOV AX,0020H 或 MOV AX,D1 MOV AX,BX MOV AX,BX0030H MOV AX,BXDI MOV AX,BXDI0030H,逻辑段分配,直接寻址的功能,寄存器相对寻址的功能,基址变址寻址的功能,相对基址变址寻址的功能,(DS)=2000H, (SS)=1000H, (BX)=00BBH, (BP)=0002H, (SI)=0100H,(DI)=0200H (200BBH)=1AH, (200BCH)=23H, (200CCH)=6

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论