




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、南京理工大学 王茂森微机原理及应用微机原理及应用南京理工大学 王茂森2 8088/868088/86的指令系统的指令系统本章主要内容:本章主要内容:2.1 8088/862.1 8088/86的寻址方式的寻址方式2.2 2.2 数据传送类指令数据传送类指令2.3 2.3 算术运算类指令算术运算类指令2.4 2.4 逻辑运算与移位指令逻辑运算与移位指令2.5 2.5 串操作类指令串操作类指令2.6 2.6 控制转移类指令控制转移类指令2.7 2.7 处理器控制类指令处理器控制类指令南京理工大学机械工程学院 自动机实验室指令系统指令系统指令系统是指微处理器所能执行的各种指令的集合。指令系统是指微处
2、理器所能执行的各种指令的集合。 不同的微处理器有不同的指令系统。不同的微处理器有不同的指令系统。8088/86指令系统的特点:指令系统的特点:v 指令系统向上兼容指令系统向上兼容v 采用变字节指令格式采用变字节指令格式v 寻址能力强寻址能力强v 具有处理多种数据类型的能力具有处理多种数据类型的能力v 支持构成多处理器系统支持构成多处理器系统南京理工大学机械工程学院 自动机实验室8088/8086的指令格式指令指令:由:由操作码操作码和和操作数操作数两部分组成。两部分组成。操作码:操作码:指示计算机执行什么操作。指示计算机执行什么操作。操作数:操作数:指明参加操作的数本身或者操作数所在的地址。指
3、明参加操作的数本身或者操作数所在的地址。指令指令具体构成一般如下:具体构成一般如下: 指令助记符指令助记符 目的操作数目的操作数 ,源操作数源操作数 例如:例如:MOV AX, BX 南京理工大学机械工程学院 自动机实验室所谓寻址就是寻找操作数的地址。所谓寻址就是寻找操作数的地址。寻址方式寻址方式:根据操作数地址寻找操作数的方式就是寻址方式。根据操作数地址寻找操作数的方式就是寻址方式。操作数可能在哪里呢?操作数可能在哪里呢? 1 1)操作数包含在指令中)操作数包含在指令中 2 2)在)在CPUCPU内部的某个寄存器中内部的某个寄存器中 3 3)在存储器(内存的数据区)中)在存储器(内存的数据区
4、)中 4 4)在)在I/OI/O接口中接口中 南京理工大学机械工程学院 自动机实验室寻址方式寻址方式对应操作数所在四种可能,有以下四种基本寻址方式: 1)操作数包含在指令中立即寻址立即寻址 2)在CPU内部的某个寄存器中寄存器寻址寄存器寻址 3)在存储器(内存的数据区)中存储器寻址存储器寻址 4)在I/O接口中I/OI/O端口寻址端口寻址南京理工大学机械工程学院 自动机实验室1)立即寻址)立即寻址操作数直接包含在指令中,紧跟在操作码之后并和操作码一操作数直接包含在指令中,紧跟在操作码之后并和操作码一起存放在代码段区域中起存放在代码段区域中,因而立即数总是和操作码一起被取,因而立即数总是和操作码
5、一起被取入入BIU(Bus Interface Unit BIU(Bus Interface Unit 总线接口总线接口) )的指令队列里,在指的指令队列里,在指令执行时不再需要访问存储器,所以令执行时不再需要访问存储器,所以速度快速度快。立即数可以是立即数可以是8 8位的,也可以是位的,也可以是1616位的。位的。规定立即数只能是整数、只能作源操作数。规定立即数只能是整数、只能作源操作数。立即寻址方式主要用于给寄存器赋值。立即寻址方式主要用于给寄存器赋值。 例如:例如: MOV ALMOV AL,80H80H MOV AX MOV AX,8080H8080H南京理工大学机械工程学院 自动机实
6、验室2)寄存器寻址)寄存器寻址操作数存放在指令规定的寄存器中,寄存器名包操作数存放在指令规定的寄存器中,寄存器名包含在指令中含在指令中。操作数可以是操作数可以是16位的,也可以是位的,也可以是8位的。位的。对对16位的操作数,位的操作数,需用需用AX(累加器累加器)、BX(基数基数)、CX(计计数器数器)、DX(数据数据)、SI(源变址源变址)、DI(目的变址目的变址)、BP(基数指基数指针针)、SP(堆栈指针堆栈指针)等等16位通用寄存器位通用寄存器, 段寄存器段寄存器CS(代码(代码段)、段)、DS(数据段)、(数据段)、SS(堆栈段)和(堆栈段)和ES(附加段附加段)仅用在仅用在部分传送
7、指令中部分传送指令中)。对于对于8位的操作数,可用位的操作数,可用AH、AL、BH、BL、CH、CL、DH、DL等等 8位寄存器。位寄存器。 南京理工大学机械工程学院 自动机实验室例如:MOV BX,AX ADD AL,BLBXAX 由于寄存器在处理器内部,传输数据不需要通过BIU,所以采用寄存器寻址方式可以提高工作效率。对于那些需要经常存取的操作数,采用寄存器寻址方式较为合适。2)寄存器寻址)寄存器寻址南京理工大学机械工程学院 自动机实验室3)存储器寻址)存储器寻址存储器寻址存储器寻址: : 操作数在内存的数据段中,这时指令操作数在内存的数据段中,这时指令中的操作数包含着此操作数的地址中的操
8、作数包含着此操作数的地址。 在在8088/80868088/8086管理的内存中,内存地址由段基地管理的内存中,内存地址由段基地址和段内偏移量两部分组成。由于操作数一般是址和段内偏移量两部分组成。由于操作数一般是在数据段在数据段DSDS中,段基地址默认在中,段基地址默认在DSDS段寄存器中。段寄存器中。在指令的操作数部分规定的地址是段内偏移量在指令的操作数部分规定的地址是段内偏移量。 南京理工大学机械工程学院 自动机实验室3)存储器寻址)存储器寻址 适应要处理的各种适应要处理的各种数据结构数据结构的需的需要,段内偏移量可以有多种方式给出。要,段内偏移量可以有多种方式给出。 根据给出段内偏移量(
9、又称有效根据给出段内偏移量(又称有效偏移地址偏移地址EAEA)方式的不同,存储器寻)方式的不同,存储器寻址方式又有以下五种方式之分:址方式又有以下五种方式之分: 南京理工大学机械工程学院 自动机实验室3)存储器寻址)存储器寻址- 直接寻址直接寻址操作数在存储器中,其偏移地址由指令直接给出操作数在存储器中,其偏移地址由指令直接给出。 例如:例如: MOV AX,2000H ;是将;是将DS段中段中2000H单元内容送单元内容送AL中,中,2001H单元内容送单元内容送AH中。中。(注意注意: 必需必需 ) 如果对其他段寄存器所指出的存储区进行直接寻址,则在如果对其他段寄存器所指出的存储区进行直接
10、寻址,则在本条指令前必须用前缀指出段寄存器名。本条指令前必须用前缀指出段寄存器名。在在8088/8086中允许中允许段超越,即允许操作数在代码段、堆栈段或附加段的区域中。段超越,即允许操作数在代码段、堆栈段或附加段的区域中。 例如:例如: CS:MOV BX,3000H ;是将;是将CS段的段的3000H和和3001H两单元内容送两单元内容送BX中。中。 南京理工大学机械工程学院 自动机实验室3)存储器寻址)存储器寻址- 直接寻址直接寻址例如:MOV AX,1000H,已知DS=3000H12H34H10H00H操作 码AX AH AL代码段数据段31000H34H12Hz 3000H*10H
11、 =30000H1000H31000H南京理工大学机械工程学院 自动机实验室3)存储器寻址)存储器寻址- 寄存器间接寻址寄存器间接寻址寄存器间接寻址寄存器间接寻址:操作数的有效偏移地址存放在寄存器:操作数的有效偏移地址存放在寄存器中,即以寄存器内容间接指示内存操作数的偏移地址。中,即以寄存器内容间接指示内存操作数的偏移地址。可用于间接寻址的寄存器有:可用于间接寻址的寄存器有:SI、DI、BX、BP。所使用的段寄存器由指令中的间址寄存器确定。所使用的段寄存器由指令中的间址寄存器确定。v若用若用BX、SI、DI寄存器间址,则寄存器间址,则操作数在当前数据段操作数在当前数据段中,中,即段地址在即段地
12、址在DS中。中。v若用若用BP间址,则间址,则操作数在堆栈段操作数在堆栈段SS中。中。南京理工大学机械工程学院 自动机实验室3)存储器寻址)存储器寻址- 寄存器间接寻址寄存器间接寻址例:例:MOV CX,BX;已知;已知DS=3000H,BX=1000H解:已知段地址和偏移地址,则存储单元的物理地址为:解:已知段地址和偏移地址,则存储单元的物理地址为: 30000H + 1000H = 31000HCX CH CL12H34H操作 码代码段数据段31000H34H12H南京理工大学机械工程学院 自动机实验室3)存储器寻址)存储器寻址- 寄存器间接寻址寄存器间接寻址寄存器间址通常用来对一维数据或
13、表格进行处理,寄存器间址通常用来对一维数据或表格进行处理,这时只要改变间址寄存器中的内容,用一条寄存器这时只要改变间址寄存器中的内容,用一条寄存器间址指令就可对连续的存储单元进行操作。间址指令就可对连续的存储单元进行操作。循环程序设计中,也多用间接寻址。循环程序设计中,也多用间接寻址。南京理工大学机械工程学院 自动机实验室3)存储器寻址)存储器寻址-(寄存器相对寻址寄存器相对寻址)变址寻址变址寻址操作数在存储器中操作数在存储器中,其偏移地址是指定的寄存器的内容,其偏移地址是指定的寄存器的内容与指令中给出的位移量相加之和。段地址依据使用的寄与指令中给出的位移量相加之和。段地址依据使用的寄存器的不
14、同而不同。使用寄存器存器的不同而不同。使用寄存器BX、SI、DI时约定为时约定为DS,使用寄存器,使用寄存器BP时约定为时约定为SS。例如:例如:MOV BX+6,AL 或或 MOV 6BX,AL MOV BP+6,AX 或或 MOV 6BP,AX MOV AX,COUNT SIBXBXBPBPSISIDIDIEA = 8位偏移量位偏移量16位偏移量位偏移量+南京理工大学机械工程学院 自动机实验室3)存储器寻址)存储器寻址-(寄存器相对寻址寄存器相对寻址)变址寻址变址寻址变址寻址的速度比直接寻址慢,因变址寻址的速度比直接寻址慢,因CPU要多执行一要多执行一次加法。次加法。变址寻址通常用来访问一
15、维数组中的元素,位移量变址寻址通常用来访问一维数组中的元素,位移量用来确定数组的起点,间址寄存器的值选择一个元用来确定数组的起点,间址寄存器的值选择一个元素。素。南京理工大学机械工程学院 自动机实验室3)存储器寻址)存储器寻址- 基址加变址寻址基址加变址寻址 操作数在存储器中操作数在存储器中,其偏移地址是指令中指定的基址寄存器和,其偏移地址是指令中指定的基址寄存器和变址寄存器的内容相加之和。段地址由基址寄存器约定在哪一变址寄存器的内容相加之和。段地址由基址寄存器约定在哪一个段寄存器中。基址使用寄存器个段寄存器中。基址使用寄存器BX时约定为时约定为DS、使用寄存器、使用寄存器BP时约定为时约定为
16、SS。例如:MOV BX+SI,AX 或MOV BXSI,AXBXBXBPBPEA = +SISIDIDI南京理工大学机械工程学院 自动机实验室3)存储器寻址)存储器寻址- 基址变址相对寻址基址变址相对寻址操作数在存储器中,其偏移地址是指令中指定的基址寄存器和变,其偏移地址是指令中指定的基址寄存器和变址寄存器的内容与位移量址寄存器的内容与位移量3项相加之和。段地址由基址寄存器项相加之和。段地址由基址寄存器约定在哪一个段寄存器中。基址使用寄存器约定在哪一个段寄存器中。基址使用寄存器BX时约定为时约定为DS、使用寄存器使用寄存器BP时约定为时约定为SS。例如:MOV BX+SI+5,AX 或MOV
17、 5BXSI,AXBXBXBPBPEA = 8位偏移量位偏移量16位偏移量位偏移量+SISIDIDI+南京理工大学机械工程学院 自动机实验室3) 存储器寻址存储器寻址- 基址变址相对寻址基址变址相对寻址由于基址和变址寄存器中的内容都可以修改,所以基址由于基址和变址寄存器中的内容都可以修改,所以基址加变址方式和基址加变址相对寻址方式常用来处理二维加变址方式和基址加变址相对寻址方式常用来处理二维数组。数组。南京理工大学机械工程学院 自动机实验室4)I/O端口寻址端口寻址操作数存放在某个操作数存放在某个I/O端口中,指令中指出操作数所在的端口中,指令中指出操作数所在的端口。端口。8088/8086C
18、PU的端口操作指令只有输入和输出两条指的端口操作指令只有输入和输出两条指令令: IN OUT。例如:例如: IN AL,5 OUT 32H,AL南京理工大学机械工程学院 自动机实验室8088/8086指令寻址方式小结(1 1)立即寻址)立即寻址(2 2)寄存器寻址)寄存器寻址(3 3)存储器寻址)存储器寻址 1 1)直接寻址)直接寻址 2 2)寄存器间址)寄存器间址 3 3)变址寻址)变址寻址 4 4)基址加变址寻址)基址加变址寻址 5 5)基址加变址相对寻址)基址加变址相对寻址(4 4)I/OI/O端口寻址端口寻址南京理工大学机械工程学院 自动机实验室8088/8086指令的编码组成8088
19、/8086采用了变字节的指令格式,指令长度最短采用了变字节的指令格式,指令长度最短的仅的仅1个字节,最长的占个字节,最长的占6个字节。指令编码由操作码、个字节。指令编码由操作码、寻址方式和操作数三部分组成。寻址方式和操作数三部分组成。通常,指令的第一字节为操作码,规定指令的操作类型通常,指令的第一字节为操作码,规定指令的操作类型; ;第二字节规定操作数的寻址方式第二字节规定操作数的寻址方式; ;之后的第之后的第3-63-6字节,依据指令的不同而取舍,可变字节指令主字节,依据指令的不同而取舍,可变字节指令主要体现在这里,这部分一般用来指出存储器操作数地址的偏要体现在这里,这部分一般用来指出存储器
20、操作数地址的偏移量或立即数。移量或立即数。南京理工大学机械工程学院 自动机实验室8088/8086指令的编码组成操作码操作码/寻址方式字节格式如下:寻址方式字节格式如下:D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D0OPCODEDWMODREGR/M第一字节中:第一字节中:6 6位位 OPCODEOPCODE可表示可表示6464个不同的操作个不同的操作 ;W指示操作数类型,指示操作数类型,W=1(字),(字),W=0(字节);(字节);D指示操作数的传送方向,指示操作数的传送方向, D=1,寄存器操作数为源操作数,寄存器操作数为源操作数 D=0,寄存器操作数为目的操作数,寄存
21、器操作数为目的操作数第一字节第一字节第二字节第二字节南京理工大学机械工程学院 自动机实验室8088/8086指令的编码组成第二字节指出所用的操作数第二字节指出所用的操作数(源,目的)存放的位置,(源,目的)存放的位置,以及存储器操作数有效地址以及存储器操作数有效地址的计算方法。的计算方法。 D5D3的的REG 字段规定一字段规定一个寄存器操作数,由第一字个寄存器操作数,由第一字节的节的D1位决定作为源还是位决定作为源还是目的操作数。目的操作数。REGW=0W=1000ALAX001CLCX010DLDX011BLBX100AHSP101CHBP110DHSI111BHDI南京理工大学机械工程学
22、院 自动机实验室8088/8086指令的编码组成D7、D6 的的MOD字段用来区字段用来区分分另一个操作数另一个操作数是存储器操是存储器操作数作数M还是寄存器操作数还是寄存器操作数R,若是存储器操作数则进一步若是存储器操作数则进一步指出存储器操作数地址位移指出存储器操作数地址位移量的字节数。量的字节数。MOD方式方式位移量位移量00M无01M8位10M16位11R/南京理工大学机械工程学院 自动机实验室8088/8086指令的编码组成R/M字段由字段由MOD字段控制,若字段控制,若MOD=11,则,则R/M字段指出第二操作数寄存器的名称;字段指出第二操作数寄存器的名称;若若MOD=00,01,
23、10,则,则R/M字段指出如何字段指出如何计算存储器操作数地址。计算存储器操作数地址。南京理工大学机械工程学院 自动机实验室8088/8086指令的编码组成MOD存储器操作数存储器操作数W=0W=1R/M0001101111000BX+SIBX+SI+D8BX+SI+D16ALAX001BX+DIBX+DI+D8BX+DI+D16CLCX010BP+SIBP+SI+D8BP+SI+D16DLDX011BP+DIBP+DI+D8BP+DI+D16BLBX100SISI+D8SI+D16AHSP101DIDI+D8DI+D16CHBP110BPBP+D8BP+D16DHSI111BXBX+D8BX
24、+D16BHDI南京理工大学机械工程学院 自动机实验室8086/8088指令系统8088/8086指令按功能分为以下六类:一、一、数据传送指令数据传送指令 二、算术运算指令二、算术运算指令 三、逻辑运算与移位指令三、逻辑运算与移位指令 四、串操作指令四、串操作指令 五、控制转移指令五、控制转移指令 六、处理器控制指令六、处理器控制指令南京理工大学机械工程学院 自动机实验室一、数据传送类指令 不论是专用计算机,还是通用计算机,也不不论是专用计算机,还是通用计算机,也不管是数值计算或信息处理,还是实时控制,都需管是数值计算或信息处理,还是实时控制,都需要传送数据。因此,数据传送是最基本、最主要要传
25、送数据。因此,数据传送是最基本、最主要的操作。数据传送类指令也是使用频率最高的。的操作。数据传送类指令也是使用频率最高的。 传送类指令的特点是把数据从计算机的一个传送类指令的特点是把数据从计算机的一个地方传送到另一个地方。把数据的原来所在地称地方传送到另一个地方。把数据的原来所在地称为为“源源” SRC ,要接收数据的地方称为要接收数据的地方称为“目的地目的地” DST南京理工大学机械工程学院 自动机实验室数据传送指令数据传送指令用于实现用于实现CPU内部寄存器之间、寄存器与存内部寄存器之间、寄存器与存储器之间、累加器与储器之间、累加器与I/O端口之间以及立即数到寄存器或端口之间以及立即数到寄
26、存器或存储器的数据传送,可按字或字节进行数据传送。存储器的数据传送,可按字或字节进行数据传送。数据传送类指令共有数据传送类指令共有14条,分为以下条,分为以下4小类:小类:z通用传送指令:通用传送指令: z累加器专用传送指令累加器专用传送指令(3) 地址传送指令地址传送指令(4) 标志传送指令标志传送指令注:注:除特别说明外,数据传送类指令一般不影响标志位。除特别说明外,数据传送类指令一般不影响标志位。一、数据传送类指令南京理工大学机械工程学院 自动机实验室(1) 通用传送指令 MOV DST,SRCPUSH SRCPOP DSTXCHG DST,SRC南京理工大学机械工程学院 自动机实验室通
27、用传送指令MOV格式:格式: MOV dst, src功能:功能:把一个字节或一个字操作数从源传送到目的地把一个字节或一个字操作数从源传送到目的地(源源保持不变保持不变)通用传送指令的操作数及其传送方向如图所示:通用传送指令的操作数及其传送方向如图所示: 立即数IMM存储器MEM通用寄存器REGDS ES SS(CS除外)南京理工大学机械工程学院 自动机实验室通用传送指令MOV该指令有如下 几种种形式:(1) MOV BX, AX; 通用寄存器间进行传送(2) MOV DX, 2000H ; 立即数送通用寄存器(3) MOV WORD PTR BX, 2400H ; 立即数送存储器(4) MO
28、V BX, AX ; 通用寄存器送存储器(5) MOV AX, BP+SI+5 ; 存储器送通用寄存器(6) MOV DS, AX ; 通用寄存器送段寄存器 (CS除外)南京理工大学机械工程学院 自动机实验室通用传送指令MOV使用该指令需注意以下几点:(1) 源和目的操作数不能同时为存储器操作数(2) 两操作数的位数、类型和属性要一致 如: MOV AX,BL(3) 操作数不能出现二义性 如:MOV BX, 1 操作数的类型不明确(字/字节?)(4) CS,IP和立即数不能作目的操作数;(5) 不能直接用立即数给段寄存器赋值(6)不能在段寄存器间直接传送数据相关例:见P30南京理工大学机械工程
29、学院 自动机实验室堆栈操作指令PUSH格式:格式:PUSH src功能:功能:将通用寄存器、段寄存器或存储器中的一个字压入栈顶。将通用寄存器、段寄存器或存储器中的一个字压入栈顶。SP=0040HSP=003EH12341234AH AL 设AX=1234H,下图是执行PUSH AX的具体过程(见书P31,先减量修改指针再传送):执行前执行后南京理工大学机械工程学院 自动机实验室堆栈操作指令POP格式:格式: POP dst功能:功能:将将SP所指向的栈顶的一个字弹出给通用寄存器、段所指向的栈顶的一个字弹出给通用寄存器、段寄存器寄存器(CS除外除外)。同时进行修改堆栈指针的操作,。同时进行修改堆
30、栈指针的操作,即:即:SPSP+2例如:POP DXPOP CX (过程见书P32,先传送再增量修改指针)南京理工大学机械工程学院 自动机实验室数据交换指令XCHG格式:格式:XCHG dst, src功能:功能:将源和目的操作数(字将源和目的操作数(字/字节)中的内容交换。字节)中的内容交换。注意:注意:交换只能在通用寄存器之间、通用寄存器和存储器之间进行。即:交换只能在通用寄存器之间、通用寄存器和存储器之间进行。即:XCHG REG,REGXCHG REG,MEMXCHG MEM,REG例如:将数据段中的字变量例如:将数据段中的字变量DATA1和和DATA2互换互换. MOV AX,DAT
31、A1 XCHG AX,DATA2 MOV DATA1,AX不可在两存储器之间不可在两存储器之间南京理工大学机械工程学院 自动机实验室(2)累加器专用传送指令IN AX(AL),n(DX)OUT n(DX), AX(AL)XLAT 表名 (查表转换指令)南京理工大学机械工程学院 自动机实验室累加器专用传送指令IN,OUT格式:格式: IN Acc, Port 或或 IN Acc, DX格式:格式: OUT Port, Acc 或或OUT DX, Acc功能功能:对于对于8088,将一个字节由输入端口传送至,将一个字节由输入端口传送至AL;对于;对于8086,还,还可从端口进行字的输入输出,可将一
32、个字由输入端口传送至可从端口进行字的输入输出,可将一个字由输入端口传送至AX。注意:注意:端口地址若是由指令中的端口地址若是由指令中的port所规定,则只可寻址所规定,则只可寻址0255,端,端口地址若用口地址若用DX间址,则允许寻址间址,则允许寻址64K个输入端口。个输入端口。南京理工大学机械工程学院 自动机实验室累加器专用传送指令IN,OUT例2: MOV DX, 330HIN AL, DXOUT DX, AL端口地址超过端口地址超过255,必须用,必须用DX间间址访问。这里的址访问。这里的DX表示的是寄存表示的是寄存器间接寻址的外设地址,而不是器间接寻址的外设地址,而不是寄存器寻址。寄存
33、器寻址。例1: IN AL, 06HOUT 06H, AL端口地址在端口地址在(00HFFH)之间,可以用直接输入之间,可以用直接输入输出指令输出指令南京理工大学机械工程学院 自动机实验室累加器专用传送指令 查表转换指令XLAT格式:格式:XLAT source-table功能:功能:该指令是从存放于内存的转换表中查找出一个该指令是从存放于内存的转换表中查找出一个字节的内容,用以取代字节的内容,用以取代AL寄存器中的内容。它寄存器中的内容。它的操作数都是隐含的,在此指令之前,要将的操作数都是隐含的,在此指令之前,要将BX指向转换表的起点。指向转换表的起点。AL中的内容用做查表时的中的内容用做查
34、表时的索引,查出表中偏移量等于索引,查出表中偏移量等于AL中的二进制值的中的二进制值的那个单元的内容,并用其取代那个单元的内容,并用其取代AL中原来的内容。中原来的内容。即即 BX+ALAL。 该指令可以方便地将一种代码转换为另一该指令可以方便地将一种代码转换为另一种代码。种代码。南京理工大学机械工程学院 自动机实验室累加器专用传送指令 查表转换指令XLAT例:从例:从5号端口输入一位十进制数码,将其转换后再输号端口输入一位十进制数码,将其转换后再输出到出到10号端口号端口(见见P33)MOV BX, OFFSET TABLEIN AL, 5XLAT TABLEOUT 10, AL南京理工大学
35、机械工程学院 自动机实验室(3)地址传送指令LEA DST,SRCLDS DST,SRCLES DST,SRC南京理工大学机械工程学院 自动机实验室地址传送指令LEA1偏移地址传送指令格式:LEA REG16,MEM功能:将存储单元的偏移地址送16位通用寄存器。该指令常用来给某个16位通用寄存器设置地址初值,以便从此开始存取数据。例:LEA BX, 1200H; 执行后BX=1200H 另外:LEA BX, TABLE MOV BX, OFFSET TABLE作用相同南京理工大学机械工程学院 自动机实验室地址传送指令LDS,LES2 2传送数据段偏移地址及数据段段地址指令格式:LDS REG1
36、6,MEM32功能:将存放在存储器中的32位地址指针分别传送到两个寄存器中。高位地址内容送DS,低位地址内容送指令中给出的寄存器。例:LDS SI,BX; 则将BX+3和BX+2送DS,BX+1和BX送SI3 3传送附加段偏移地址和附加段段地址指令传送附加段偏移地址和附加段段地址指令格式:LES REG16,MEM32功能:除了将段地址送ES外,其余和LDS指令类似。例:LES DI,DWORD PTR BX 则将DS段的BX+3和BX+2送ES,BX+1和BX送DI南京理工大学机械工程学院 自动机实验室(4)标志位传送指令LAHFSAHFPUSHFPOPF南京理工大学机械工程学院 自动机实验
37、室标志传送指令1标志寄存器低8位送AH 格式: LAHF 功能:将标志寄存器低8位中的SF,ZF,AF,PF,CF送至AH中的相应位。 AH内容送标志寄存器低8位 格式:SAHF 说明:影响标志2标志寄存器内容进栈 格式:PUSHF 标志寄存器内容出栈 格式:POPF 说明:影响标志 PUSHF和POPF指令一般用在子程序和中断处理程序的首尾。南京理工大学机械工程学院 自动机实验室标志传送指令在8088/8086指令系统中,没有直接改变跟踪标志T的指令,故要改变T标志,须将标志压入堆栈,改变堆栈中对应D8位的值,然后再从堆栈中弹出标志。如: PUSHF POP AX OR AH,01H PUS
38、H AX POPFO D IT S ZAPC南京理工大学机械工程学院 自动机实验室作业5P65:2-1、2、7南京理工大学机械工程学院 自动机实验室补充: 80 x86系列指令系统 80 x8680 x86及其兼容芯片是应用最多的处理器芯片,属于及其兼容芯片是应用最多的处理器芯片,属于CISCCISC型的指令型的指令 系统。系统。80868086指令指令是是变字长指令变字长指令,不同指令的操作码和寻址方式不同,指,不同指令的操作码和寻址方式不同,指 令长度也不一致,每条指令由令长度也不一致,每条指令由1 16 6个字节组成个字节组成。以。以8086CPU8086CPU为例说明为例说明 CISC
39、CISC芯片分析指令编码的特点。芯片分析指令编码的特点。 前面讲的最常用的两操作数的传送、加、减、与、或指令的编码格式如前面讲的最常用的两操作数的传送、加、减、与、或指令的编码格式如图所示。图所示。 操作码操作码 反映该反映该指令的功能指令的功能 OPCODEOPCODE; 类型类型 反映反映操作数操作数的的类型类型(字长等)(字长等),W,W; 寻址方式寻址方式 反映反映操作数操作数的寻的寻址方式址方式,寄存器操作数的编码也在,寄存器操作数的编码也在 其间其间 D REG MOD R/MD REG MOD R/M;南京理工大学机械工程学院 自动机实验室 操作数操作数 操作数中的操作数中的立即
40、数立即数、内存操作数中的位移量部分。、内存操作数中的位移量部分。 对于实现对于实现“寄存器与寄存器,寄存器与存储器之间寄存器与寄存器,寄存器与存储器之间”的上述操作的指的上述操作的指 令而言,令而言, 上述上述80868086指令编码格式可细化为以下图所示的格式。指令编码格式可细化为以下图所示的格式。 中中 6 6位位 OPCODEOPCODE可表示可表示6464个不同的操作个不同的操作 ; D D 位表示数据传送的方向:位表示数据传送的方向:D=0D=0,寄存器为,寄存器为源操作数源操作数,D=1D=1,寄存器,寄存器 为为目的操作数目的操作数 ; W W 位表示操作数是字还是字节:位表示操作数是字还是字节:W=1W=1,为,为字操作字操作,W=0W=0,为,为字节操作字节操作中中3 3位位 REG REG 字段的编码如表字段的编码如表 :南京理工大学机械工程学院 自动机实验室 两个操作数中有两个操作数中有一个是寄存器一个是寄存器,其编码由上表所示;,其编码由上表所示;另一个是寄存另一个是寄存器或是存储器器或是存储器,其指令代码由第二个字节中的,其指令代码由第二个字节中的MODMOD字段字段和和R/MR/M字段决字段决定定,如下表所示。如下表所示。 MOD = 00MOD = 00、0101和和1010时,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025学年度环境影响评价工程师之环境影响评价相关法律法规每日一练试卷及参考答案详解(夺分金卷)
- 传染病患者皮肤护理与感染预防措施
- 2025计算机一级题库含完整答案详解【名师系列】
- 数字系统设计与VHDL(第3版)教案-第8章VHDL设计进阶
- 2025年开放银行生态构建中的金融科技与金融科技企业市场趋势研究报告
- 2025年汽车行业芯片短缺应对策略与汽车改装市场风险预警报告
- 2025年工业互联网区块链智能合约安全区块链与数字货币安全报告
- 2025年房地产市场区域分化对绿色建筑投资策略的影响分析报告
- 江苏省南京市2026届高三9月学情调研数学试题(含解析)
- 海南省文昌市2024-2025学年七年级下学期期末质量检测道德与法治试题
- 华东师大版九年级数学上册第23章图形的相似
- 实验动物与管理教学3实验动物的饲养环境与设施
- 市政工程质量通病防治手册图文
- NB/T 10739-2021井工煤矿辅助运输安全管理规范
- GB/T 4074.1-2008绕组线试验方法第1部分:一般规定
- GB/T 22562-2008电梯T型导轨
- GB/T 11638-2020乙炔气瓶
- GB/T 10081-2005矩形内花键长度系列
- GA/T 1968-2021法医学死亡原因分类及其鉴定指南
- GA 1551.6-2021石油石化系统治安反恐防范要求第6部分:石油天然气管道企业
- 《古筝的艺术流派》
评论
0/150
提交评论