第3章 指令系统

第3章 指令系统

ID:44089019

大小:453.50 KB

页数:62页

时间:2019-10-18

第3章  指令系统_第1页
第3章  指令系统_第2页
第3章  指令系统_第3页
第3章  指令系统_第4页
第3章  指令系统_第5页
资源描述:

《第3章 指令系统》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、指令系统第三章指令系统指令系统基本概念第3.1节8086寻址方式指令是使计算机执行某种特定操作的二进制编码指令系统是所有指令的集合一条指令通常包括两部分操作码:规定所要执行的操作类型操作数:所需要处理的数据或者数据的地址信息获得数据或者数据地址信息的方式称为寻址方式例:MOVAX,1234H指令中有两个操作数,将前者称为目的操作数,后者称为源操作数,该指令将1234H传送到寄存器AX中。CPU内部操作数寻址一.数据寻址方式1.立即数寻址指令中直接给出操作数,指令执行时可以立即得到,此时把操作数又称作“立即数”例:MOVAL,

2、5;AL52.寄存器寻址操作数放在CPU内部的寄存器中,在指令中直接指出寄存器的名字例:INCCX;将CX的内容加13.隐含寻址指令已经默认是对CPU中的某个寄存器操作例:DAA;默认对AL进行十进制加法调整以上三种方式均直接从CPU内部获得数据,操作速度快存储器操作数寻址4.直接寻址操作数放在存储器中,存储单元的有效地址直接由指令给出例:MOVSI,[2000H];SI(2000H,2001H)CPU执行单元EU根据指令的寻址方式计算出16位的偏移量,称为有效地址(EA),一般用[有效地址]表示。5.寄存器间接寻址操作

3、数一定在存储器中,存储单元的有效地址由寄存器指出,寄存器可以为BX、BP、SI、DI,例:MOVAX,[BX]CS代码段数据段堆栈段IPDSSI,DI或BXSSSP或BP(BX)(BP)(SI)(DI)EA=若BX=3000H,则把(3000H,30001H)两个单元的数据传送给AX存储器操作数寻址若需要对其它段寻址,则必须用前缀指出段寄存器名,又称“段超越”例:MOVBL,ES:[SI];BL扩展段1000H单元的内容注:IP只能在代码段寻址,SP只能在堆栈段寻址,不能进行段超越6.寄存器相对寻址操作数的有效地址由寄存器

4、内容加上一个8位或16位的偏移量得到例:MOVAX,[BX+1000H];AXBX+1000H所指向的存储单元内容若BX=2000H,则将数据段(3000H,3001H)的内容传送给AX指令也可书写为:MOVAX,1000H[BX]7.基址变址寻址操作数的有效地址由基址寄存器和变址寄存器的内容相加产生例:MOVAX,[BP+SI];AX(BP+SI)8.相对基址变址寻址操作数的有效地址由基址寄存器、变址寄存器和偏移量三者相加产生例:MOVAX,[BX+SI+1000H];AX(BX+SI+1000H)(BX)(BP)E

5、A=(SI)(DI)+相对基址变址在数组访问中的应用例:若访问堆栈段中的数组A[100]时,可以用BP存放栈顶地址,用偏移量表示数组中第一个元素到栈顶的距离,用变址寄存器SI(或DI)指向具体数组元素第4~8种寻址方式,操作数一定在存储器中,由于计算EA、总线操作需要时间,因此比1~3方式慢相对基址变址寻址应用(BP)栈顶A(0)A(1)……A(99)偏移量(SI)低地址高地址I/O端口寻址二.I/O端口寻址操作数在I/O端口中时,必须通过累加器(AX或AL)实现对端口的访问1.直接端口寻址—指令直接提供8位端口的地址例:I

6、NAL,63H;AL(63H)端口寻址时,地址不加[],当端口地址可用一个字节来表示时,可使用直接端口寻址2.间接端口寻址—由DX寄存器给出16位端口地址例:MOVDX,162HINAX,DX从端口162H读取一个字的数据传送到AX中,DX间接表示端口地址比较:MOVAX,DX;AXDXINAX,DX;AX(DX)8086指令格式第3.2节8086指令格式指令格式指令一般由1~6个字节组成,具体格式如下:76543210OPCODEDW76543210MODREGR/M字节1字节2字节3字节4LOWDISP或DATAH

7、IGHDISP或DATA字节5字节6LOWDATAHIGHDATA1.字节1OPCODE:指令操作码D:操作数传输方向(立即数指令和串操作指令除外)D=0,Reg为源操作数D=1,Reg为目的操作数W:操作数字节长度W=0,字节操作W=1,字操作指令格式字节2,寻址方式MOD:寻址方式字段00=存储器方式,指令中无偏移量01=存储器方式,指令中有8位偏移量10=存储器方式,指令中有16位偏移量11=寄存器方式,指令中无偏移量Reg:寄存器编码字段000=AL/AX100=AH/SP001=CL/CX101=CH/BP010=

8、DL/DX110=DH/SI011=BL/BX111=BH/DI指令格式R/M:寄存器/存储器字段在MOD=11,寄存器模式下,R/M给出第二个操作数的寄存器编码在MOD≠11,存储器模式下,R/M给出计算有效地址的方法R/MW=0W=1R/MMOD=00MOD=01MOD=10000AL

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。