欢迎来到天天文库
浏览记录
ID:26941742
大小:251.51 KB
页数:109页
时间:2018-11-30
《《指令系统》ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第五章8086/8088指令系统第一节 指令格式和寻址方式第二节 数据传送指令第三节 算术运算指令第四节 逻辑运算指令第五节 控制转移指令第六节 字符串指令第一节 指令格式和寻址方式一、指令格式二、指令助记符三、寻址方式(一)指令地址的寻址方式(二)操作数地址寻地方式一、指令格式指令是计算机用以控制各部件协调动作的命令指令字是一种二进制代码,它包括两个基本部分:操作码和地址码。操作码提供的是操作控制信息,指明计算机应执行什么性质的操作,如进行+、-、×、÷等;地址码提供参加运算操作数据的存放地址(即操作数地址)。只提供一个操作数地址的指令,称为单操作数指令;提供二个操作数地址的
2、指令,称为双操作数指令;不提供操作数地址的指令,称为无操作数指令。无操作数指令只有操作码部分,它的格式为其中θ为操作码。这种指令表示只进行某种操作,无需操作数,如控制机器的运行状态,暂停(HALT)等,就属于无操作数指令。单操作数指令格式为其中θ为操作码;D为目标操作数地址,简称目标地址。这种指令表示对目标地址D中的内容,按操作码θ规定进行操作,结果送目标地址。双操作数指令格式为其中,θ为操作码,D为目标地址,S为源地址(即作数地址)。这种指令表示对源地址和目标地址中的内容,按操作码规定的操作进行操作,结果送目标地址,即D←DθS。在微型机中,一般采用可变字长指令。也就是说,不
3、同的指令用不同长度来表示,但都是字节的整倍数。如一字节、二字节、三字节和四字节指令等。它们在存储器中分别占有1~4个存储单元,其格式如下:单字节指令:操作码76543210双字节指令:第一字节:操作码第二字节:操作数或地址三字节指令:第一字节:操作码第二字节:操作数或地址低位第三字节:操作数或地址高位或:第一字节:操作码第二字节:操作码第三字节:操作数或地址四字节指令:第一字节:操作码第二字节:操作码第三字节:操作数或地址地位第四字节:操作数或地址高位二、指令助记符机器指令是二进制代码,二进制代码不易辨识和记忆。因此,在介绍机器指令时,除非必要情况下用二进制代码,一般情况下使用
4、指令助记符。指令助记符由操作码和操作数的助记符号表示。通常操作码用英文单词或英文缩写单词来表示如: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(a
5、cc)a=AXALSegseg=CS、DS、ES、SSSrc(source)、dst(dest)源操作数、目的操作数Count计数器Oprd操作数Im立即数n8位nn16位nnnn32位EA有效地址三、寻址方式数据和程序在存储器中的位置,称为地址。存放指令的地址,称为指令地址;存放数据的地址,称为操作数地址,简称操作地址。寻找指令地址和操作数地址的方式,统称为寻址方式。形成指令地址和操作数地址的过程,称为寻址过程。(一)指令地址的寻址方式(二)操作数地址寻地方式(一)指令地址的寻址方式在微机中,指令地址的寻址方式比较简单,通常是在CPU中设置程序计数器PC,PC中的内容就是指令
6、地址。在一般情况下,程序是顺序执行的,程序在存储器中也是按顺序存放的。这时,只要将程序计数器中的内容自动递增,就可以形成下一条指令地址。当需要改变程序的执行顺序时,要使用转移指令,由转移指令给出转移后指令字的起始地址。将此地址送到程序计数器,就形成了转移后的地址。然后,程序计数器中的内容又自动递增,直到再次发生转移为止。(二)操作数地址寻地方式微机在工作时,指令地址在程序执行过程中时自动形成的,但指令所需的操作数地址是随机的,要根据指令的规定求得,获得操作数地址的方式,称为操作数寻址方式,有时也把它称为寻址方式。在操作数寻址方式中,除了涉及BP的寻址方式外,一般寻址均在数据段内
7、(段地址由DS提供),在涉及BP时,则使用堆栈段(段地址由SS提供),在执行串操作时,使用附加段ES。在各种寻址方式中,以立即数和存储器直接寻址方式,速度最快,因为此时8086/8088的执行单元EU可以立即从寄存器中或指令队列中取出操作数,而无须再由总线执行单元计算出有效的20位地址,然后再去取操作数。1.立即数寻址在指令中直接给出一个常数作为操作数,如:MOVAX,200表示将常数200送到存储器AX中,要注意的是在16位操作中,直接数的取值范围为32767(7FFFH)到-32768(
此文档下载收益归作者所有