第五章 80868088 指令系统_第1页
第五章 80868088 指令系统_第2页
第五章 80868088 指令系统_第3页
第五章 80868088 指令系统_第4页
第五章 80868088 指令系统_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

本文格式为Word版,下载可任意编辑——第五章80868088指令系统

第五章8086/8088指令系统第一节其次节第三节第四节第五节第六节指令格式和寻址方式数据传送指令算术运算指令规律运算指令控制转移指令字符串指令

第一节指令格式和寻址方式一、指令格式二、指令助记符三、寻址方式(一)指令地址的寻址方式(二)操作数地址寻地方式

一、指令格式指令是计算机用以控制各部件协调动作的命令指令字是一种二进制代码,它包括两个基本部分:操作码和地址码。操作码提供的是操作控制信息,指明计算机应执行什么性质的操作,如进行+、-、、等;地址码提供参与运算操作数据的存放地址(即操作数地址)。只提供一个操作数地址的指令,称为单操作数指令;提供二个操作数地址的指令,称为双操作数指令;不提供操作数地址的指令,称为无操作数指令。无操作数指令只有操作码部分,它的格式为

θ其中θ为操作码。

这种指令表示只进行某种操作,无需操作数,如控制机器的运行状态,暂停(HALT)等,就属于无操作数指令。单操作数指令格式为θD

其中θ为操作码;D为目标操作数地址,简称目标地址。这种指令表示对目标地址D中的内容,按操作码θ规定进行操作,结果送目标地址。双操作数指令格式为θDS

其中,θ为操作码,D为目标地址,S为源地址(即作数地址)。这种指令表示对源地址和目标地址中的内容,按操作码规定的操作进行操作,结果送目标地址,即D←DθS。

在微型机中,一般采用可变字长指令。也就是说,不同的指令用不同长度来表示,但都是字节的整倍数。如一字节、二字节、三字节和四字节指令等。它们在存储器中分别占有1~4个存储单元,其格式如下:单字节指令:操作码76543210

双字节指令:第一字节:其次字节:操作码操作数或地址

三字节指令:第一字节:其次字节:第三字节:或:第一字节:其次字节:第三字节:

操作码操作数或地址低位操作数或地址高位操作码操作码操作数或地址

四字节指令:第一字节:其次字节:第三字节:第四字节:

操作码操作码操作数或地址地位操作数或地址高位

二、指令助记符机器指令是二进制代码,二进制代码不易辨识和记忆。因此,在介绍机器指令时,除非必要状况下用二进制代码,一般状况下使用指令助记符。指令助记符由操作码和操作数的助记符号表示。寻常操作码用英文单词或英文缩写单词来表示如:ADD,JP(Jump)等。操作数用表示寄放器存储器地址的符号来表示。我们首先来学习操作数部分的符号

,然后结合指令来学习表示操作码的符号。用助记符来表示的指令又称为指令的汇编格式。

指令中要出现的符号介绍如下:AX,BX,CX,DX16位通用寄存器AH,BH,CH,DH,AL,BL,CL,DL8位通用寄放器CS,DS,ES,SS段寄放器SP,BP,IP堆栈指针,基址指针,指令指针DI,SI目的,源变址寄放器Flags标志寄放rr=AX、BX、CX、DXr=AL、BL、CL、DLa(acc)a=AXAL

Segseg=CS、DS、ES、SSSrc(source)、dst(dest)源操作数、目的操作数Count计数器Oprd操作数Im马上数n8位nn16位nnnn32位EA有效地址

三、寻址方式数据和程序在存储器中的位置,称为地址。存放指令的地址,称为指令地址;存放数据的地址,称为操作数地址,简称操作地址。寻觅指令地址和操作数地址的方式,统称为寻址方式。形成指令地址和操作数地址的过程,称为寻址过程。(一)指令地址的寻址方式(二)操作数地址寻地方式

(一)指令地址的寻址方式在微机中,指令地址的寻址方式比较简单,寻常是在CPU中设置程序计数器PC,PC中的内容就是指令地址。在一般状况下,程序是顺序执行的,程序在存储器中也是按顺序存放的。这时,只要将程序计数器中的内容自动递增,就可以形成下一条指令地址。当需要改变程序的执行顺序时,要使用转移指令,由转移指令给出转移后指令字的起始地址。将此地址送到程序计数器,就形成了转移后的地址。然后,程序计数器中的内容又自动递增,直到再次发生转移为止。

(二)操作数地址寻地方式微机在工作时,指令地址在程序执行过程中时自动形成的,但指令所需的操作数地址是随机的,要根据指令的规定求得,获得操作数地址的方式,称为操作数寻址方式,有时也把它称为寻址方式。在操作数寻址方式中,除了涉及BP的寻址方式外,一般寻址均在数据段内(段地址由DS提供),在涉及BP时,则使用堆栈段(段地址由SS提供),在执行串操作时,使用附加段ES。在各种寻址方式中,以马上数和存储器直接寻址方式,速度最快,由于此时8086/8088的执行单元EU可以马上从寄放器中或指令队列中取出操作数,而无须再由总线执行单元计算出有效的20位地址,然后再去取操作数。

1.马上数寻址在指令中直接给出一个常数作为操作数,如:MOVAX,200表示将常数200送到存储器AX中,要注意的是在16位操作中,直接数的取值范围为32767(7FFFH)到-32768(8000H),当为无符号数时则为0-65535(0FFFFH),对8位数应为0-255(OFFH),符号数为127(7FH)到128(80H)。

2.寄放器直接寻址

指令中的寄放器存放了操作数,如

:ADDCX,BX表示将BX中的值直接相加,然后送到CX中去。

3.寄放器间接寻址在指令中,有操作数的地址,将该地址同左移4位后的DS值相加,即可得到20位物理地址,从该地址中取出操作数进行指令所要求的操作,这种寻址方法称为直接寻址,通常该类指令中,操作数的地址用标号表示,例如:ADDAX、TABLE表示将AX中的值和TABLE表示的地址中的内容相加,和放在AX中。8086/8088按字存放内容时,低字节方在低地址中,高字节跟随其后,方在高地址中。

5.变址寻址将指令中指令的变址寄放器的内容加上偏移值,即成为操作的地址,例如:MOVDI,4MOVAX,TABLE[DI]表示偏移值TABLE加4(DI的内容)作为操作数地址,取出操作数送AX。这种寻址方式寻常用于读写表中的元素,如TABLE偏移值表示的首址,加4表示将表中的第三个量(16位)送AX,读写数组元素也采用此法。

6.基址寻址同变址类似,不过这种寻址中使用基址寄放器BX、BP代替变址寄放器DI和SI。它是将基址寄放器的内容加上偏移量而作为操作数地址的,例如:MOVAX,[BX+6]表示BX作为基址,距其偏移6

温馨提示

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

评论

0/150

提交评论