最新微型计算机原理及应用61631PPT课件.ppt
《最新微型计算机原理及应用61631PPT课件.ppt》由会员分享,可在线阅读,更多相关《最新微型计算机原理及应用61631PPT课件.ppt(148页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、微型计算机原理及应用61631第三章第三章:寻址方式与指令系统寻址方式与指令系统3.13.1数据类型及其存储规则数据类型及其存储规则 3.1.13.1.1基本数据类型及存储基本数据类型及存储 一个存储单元一个存储单元一个字节占用内存的一个地址。一个字节占用内存的一个地址。基本数据类型:基本数据类型:字、双字、四字、双四字字、双字、四字、双四字字字两个相邻字节组成的两个相邻字节组成的1616位二进制;位二进制;双字双字44个相邻字节组成的个相邻字节组成的3232位二进制数;位二进制数;四字四字88个相邻字节组成的个相邻字节组成的6464位二进制数;位二进制数;双四字双四字1616个相邻字节组成的
2、个相邻字节组成的128128位二进制数。位二进制数。表3-1 mod与rm域所组合的寻址方式 MOD MODR/MR/M存储器寻址存储器寻址寄存器寻址寄存器寻址逻辑地址的计算公式逻辑地址的计算公式W W0 0W W1 1MODMOD00B00BMODMOD01B01BMODMOD10B10BMODMOD11B11B000000001001010010011011100100101101110110111111DS:BX+SIDS:BX+SIDS:BX+DIDS:BX+DISS:BP+SISS:BP+SISS:BP+DISS:BP+DIDS:SIDS:SIDS:DIDS:DIDS:disp16D
3、S:disp16 Ds:BXDs:BXDS:BX+SI+disp8DS:BX+SI+disp8DS:BX+DI+disp8DS:BX+DI+disp8SS:BP+SI+disp8SS:BP+SI+disp8SS:BP+DI+disp8SS:BP+DI+disp8DS:SI+disp8DS:SI+disp8DS:DI+disp8DS:DI+disp8DS:disp16 DS:disp16+disp8+disp8Ds:BX+disp8Ds:BX+disp8DS:BX+SI+disp16DS:BX+SI+disp16DS:BX+DI+disp16DS:BX+DI+disp16SS:BP+SI+dis
4、p16SS:BP+SI+disp16SS:BP+DI+disp16SS:BP+DI+disp16DS:SI+disp16DS:SI+disp16DS:DI+disp16DS:DI+disp16DS:disp16 DS:disp16+disp16+disp16Ds:BX+disp16Ds:BX+disp16ALALCLCLDLDLBLBLAHAHCHCHDHDHBHBHAXAXCXCXDXDXBXBXSPSPBPBPSISIDIDI3.3 8086CPU3.3 8086CPU的寻址方式的寻址方式寻址方式寻址方式寻找指令或操作数存放地址的方法。寻找指令或操作数存放地址的方法。两种寻址方式:两种寻址
5、方式:一种是用来对一种是用来对操作数操作数进行寻址;进行寻址;另一种是用来对转移地址或调用地址进行寻址,即对另一种是用来对转移地址或调用地址进行寻址,即对指令地址指令地址进行寻址。进行寻址。内容回顾内容回顾l通用寄存器通用寄存器uAXAX 累加器累加器 (Accumulator)-(Accumulator)-AXAX常用作累加器常用作累加器uBX BX 基址寄存器基址寄存器 (Base Register)-(Base Register)-BXBX用作基址寄存器用作基址寄存器uCX CX 计数寄存器计数寄存器 (Counter Register)-(Counter Register)-CXCX用
6、作计数寄存器用作计数寄存器uDXDX 数据寄存器数据寄存器 (Data Register)-(Data Register)-DXDX用作数据寄存器用作数据寄存器l8 8个个8 8位寄存器:位寄存器:AHAH、ALAL、BHBH、BLBL、CHCH、CLCL、DHDH、DLDL1616位寄存器主要用于存放数据,也可用来存放地址。位寄存器主要用于存放数据,也可用来存放地址。8 8位寄存器只能用于存放数据。位寄存器只能用于存放数据。l专用地址寄存器专用地址寄存器1616位,用于存放地址的偏移量。位,用于存放地址的偏移量。uSP SP 堆栈指针寄存器堆栈指针寄存器 (Stack Pointer Reg
7、ister)(Stack Pointer Register)uBP BP 基址指针寄存器基址指针寄存器 (Base Pointer Register)(Base Pointer Register)uSISI 源变址寄存器源变址寄存器 (Source Index Register)(Source Index Register)uDI DI 目的变址寄存器目的变址寄存器 (Destination Index Register)(Destination Index Register)lSPSP:出入堆栈(:出入堆栈(PUSHPUSH和和POPPOP)用)用SPSP给出栈顶的偏移地址。给出栈顶的偏移地
8、址。lBPBP:存放位于堆栈段中的一个数据区的基地址的偏移地址。:存放位于堆栈段中的一个数据区的基地址的偏移地址。lSISI:在字符串操作指令中,源操作数的偏移地址存放于:在字符串操作指令中,源操作数的偏移地址存放于SISI中。中。lDIDI:在字符串操作指令中,目的操作数的偏移地址存放于:在字符串操作指令中,目的操作数的偏移地址存放于DIDI中。中。l段寄存器段寄存器uCSCS(Code Segment)Code Segment)代码段寄存器代码段寄存器 存放当前程序代码段的段地址(段基址),控制程序区。存放当前程序代码段的段地址(段基址),控制程序区。uDSDS(Data Segment)
9、Data Segment)数据段寄存器数据段寄存器 存放当前数据段的段地址,控制数据区。存放当前数据段的段地址,控制数据区。uSSSS(Stack Segment)Stack Segment)堆栈段寄存器堆栈段寄存器 存放当前堆栈段的段地址,控制堆栈区。存放当前堆栈段的段地址,控制堆栈区。uESES(Extra Segment)Extra Segment)附加段寄存器附加段寄存器 存放当前附加段的段地址,控制数据区。存放当前附加段的段地址,控制数据区。l标志寄存器和指令指针标志寄存器和指令指针uIPIP 指令指针指令指针 1616位位寄寄存存器器,用用来来存存放放程程序序将将要要执执行行的的下
10、下一一条条指指令令的的地地址址偏偏移移值值,和和CSCS一一起起形形成成了了下下一一条条指指令令的的物物理理地地址址(CS:IPCS:IP),类类似似于于8 8位位CPUCPU中中中的中的PCPC。uFLAGSFLAGS 标志寄存器(程序状态字寄存器标志寄存器(程序状态字寄存器PSWPSW)1616位位寄寄存存器器,用用来来存存放放8086CPU8086CPU在在工工作作过过程程中中的的运运算算结结果果中中的的状状态态标标志位和微处理器操作的控制标志。志位和微处理器操作的控制标志。图3-6立即数寻址过程代码段代码段12123434MOV AX,3412HMOV AX,3412H的指令代码的指令
11、代码3434AXAXAHAHALAL操作码操作码12123.3.13.3.1操作数的寻址方式操作数的寻址方式1 1、立即寻址、立即寻址特点:特点:指令中含有立即数,执行速度快,立即数只能是整数,且只能作为指令中含有立即数,执行速度快,立即数只能是整数,且只能作为源操作数源操作数。举例:举例:MOV AX,3412HMOV AX,3412H2 2、寄存器寻址方式、寄存器寻址方式特特点点:指指令令中中含含有有寄寄存存器器操操作作数数,不不但但可可以以减减少少指指令令码码的的长长度度,而而且且由由于于操操作数已存于寄存器中,执行速度较快,用于作数已存于寄存器中,执行速度较快,用于CPUCPU内部传送
12、数据。内部传送数据。说明:说明:寄存器既能作为源操作数,又能作为目的操作数。寄存器既能作为源操作数,又能作为目的操作数。8 8位寄存器:位寄存器:AH AL BH BL CH CL DH DL;AH AL BH BL CH CL DH DL;16 16位寄存器:位寄存器:AX BX CX DX SI DI SP BPAX BX CX DX SI DI SP BP。例如:例如:MOV AXMOV AX,CXCX该指令将该指令将CXCX(源操作数)的内容传送到(源操作数)的内容传送到AXAX寄存器(目的操作数)中,寄存器(目的操作数)中,其中源操作数其中源操作数CXCX,目的操作数,目的操作数AX
13、AX都是寄存器寻址方式。都是寄存器寻址方式。3 3、存储器寻址、存储器寻址指令给出了操作数在数据区中的地址信息,据此确定存放操作数的有效地址指令给出了操作数在数据区中的地址信息,据此确定存放操作数的有效地址EAEA。有效地址有效地址EAEA:可由可由指令指令直接给出;直接给出;可由可由指令指定的寄存器指令指定的寄存器间接给出;间接给出;可由可由指令指定的寄存器和一个偏移量指令指定的寄存器和一个偏移量间接给出;间接给出;可由可由指令指定的两个寄存器之和指令指定的两个寄存器之和间接给出;间接给出;可由可由指令指定的两个寄存器和一个偏移量之和指令指定的两个寄存器和一个偏移量之和间接给出;间接给出;五
14、种不同的存储器寻址方式:五种不同的存储器寻址方式:1 1)直接寻址方式)直接寻址方式2 2)寄存器间接寻址)寄存器间接寻址3 3)寄存器相对寻址)寄存器相对寻址4 4)基址加变址寻址方式)基址加变址寻址方式5 5)相对的基址和变址寻址方式)相对的基址和变址寻址方式代码段代码段操作码操作码3434数据段数据段2 0 0 02 0 0 0DSDS2000020000+7834+783427834278343434 1212AXAXMOV MOV AX,7834HAX,7834H指指令代码令代码787812123434图3-7直接寻址方式寻址过程(1 1)直接寻址方式)直接寻址方式指令直接给出操作数
15、的有效地址存放位置。指令直接给出操作数的有效地址存放位置。例如:例如:MOV AXMOV AX,7834H7834H该该指指令令将将有有效效地地址址EA=7834HEA=7834H单单元元中中的的内内容容传传送送到到AXAX寄寄存存器器中中。若若(DSDS)=2000H=2000H,则则该该指指令令源源操操作作数数的的存存储储单单元元的的物物理理地地址址为为20000H20000H7834H=27834H7834H=27834H。(2 2)寄存器间接寻址)寄存器间接寻址指令中的寄存器给出操作数存放位置的有效地址。指令中的寄存器给出操作数存放位置的有效地址。注意两点:注意两点:一是寄存器中的内容
16、是操作数的有效地址,而不是操作数本身;一是寄存器中的内容是操作数的有效地址,而不是操作数本身;二是只能用二是只能用CPUCPU中的基址寄存器中的基址寄存器BXBX、BPBP或变址寄存器或变址寄存器DIDI、SISI来间接寻址。来间接寻址。如如果果指指令令前前面面没没有有用用前前缀缀指指令令指指明明操操作作数数在在哪哪一一段段,则则通通常常默默认认段段寄寄存器为存器为BP:BP:SSSS,BX,DI,SI:,BX,DI,SI:DSDS。即:。即:物理地址物理地址=DS10H+EA=DS10H+=DS10H+EA=DS10H+或或 物理地址物理地址=SS10H+BP=SS10H+BP例如:例如:M
17、OV AXMOV AX,BXBX该指令将该指令将BXBX中的内容作为有效地址,对该有效地址进行字的读操作,送入中的内容作为有效地址,对该有效地址进行字的读操作,送入AXAX中。中。注意与寄存器寻址的区别,注意与寄存器寻址的区别,表示寄存器间接寻址。表示寄存器间接寻址。代码段代码段操作码操作码数据段数据段121234341 12 23 34 4DSDS2 24 46 68 8BXBX1234012340+2468+2468147A8147A834 1234 12AXAXMOV MOV AX,BXAX,BX指指令代码令代码图3-8 寄存器间接寻址示意图(3(3)寄存器相对寻址)寄存器相对寻址指指令
18、令中中的的寄寄存存器器和和偏偏移移量量给给出出操操作作数数存存放位置的有效地址。放位置的有效地址。物理地址物理地址=DS10H+EA=DS10H+=DS10H+EA=DS10H+或或 物理地址物理地址=SS10H+BP=SS10H+BP例如:例如:MOV BXMOV BX,DI+10HDI+10H该该指指令令将将DIDI中中的的内内容容加加上上偏偏移移量量10H10H后后作作为为有有效效地地址址,对对该该有有效效地地址址进进行行字字的的读读操操作作,送入送入BXBX中。中。代码段代码段操作码操作码2424数据段数据段2626787868681 12 23 34 4DSDS2 27 73 32
19、2BXBX1234012340273227321B2961B29678 2678 26AXAXMOVMOVAX,BXAX,BX6824H6824H指令代码指令代码+6824+6824图3-9 寄存器相对寻址操作过程基址寻址基址寻址用用BXBX、BPBP为基址寄存器进行寻址为基址寄存器进行寻址变址寻址变址寻址用用SISI、DIDI为变址寄存器进行寻址为变址寄存器进行寻址 (4(4)基址加变址寻址方式)基址加变址寻址方式指令中的两个寄存器给出操作数存放位置的有效地址。指令中的两个寄存器给出操作数存放位置的有效地址。物理地址物理地址=DS10H+EA=DS10H+=DS10H+EA=DS10H+或或
20、 物理地址物理地址=SS10H+=SS10H+例如:例如:ADD AXADD AX,BX+SIBX+SI 该该指指令令将将BXBX中中的的内内容容加加上上SISI中中的的内内容容作作为为有有效效地地址址,对对该该有有效效地地址址进进行字的读操作,读取结果与行字的读操作,读取结果与AXAX中内容相加,结果送到中内容相加,结果送到AXAX中。中。+1026+1026003400341234012340代码段代码段操作码操作码数据段数据段787856561 12 23 34 4DSDS1 10 02 26 6SISI1339A1339A56 7856 78AXAXMOV AX,BXMOV AX,BX
21、SISI指令代码指令代码0 00 03 34 4BXBX图3-10 基址加变址寻址方式操作过程(5(5)相对的基址和变址寻址方式)相对的基址和变址寻址方式指令中的两个寄存器和一个偏移量给出操作数存放位置的有效地址。指令中的两个寄存器和一个偏移量给出操作数存放位置的有效地址。物理地址物理地址=DS10H+EA=DS10H+=DS10H+EA=DS10H+或或 物理地址物理地址=SS10H+=SS10H+例如:例如:MOV AHMOV AH,BXBXSISI2468H2468H该该指指令令将将BXBX中中的的内内容容加加上上SISI中中的的内内容容加加上上偏偏移移量量2468H2468H后后作作为
22、为有有效效地地址,对该有效地址进行字节的读操作,读取结果送到址,对该有效地址进行字节的读操作,读取结果送到AHAH中。中。MOV AH,BXMOV AH,BXSISI2468H2468H指令代码指令代码01100110010001002000020000代码段代码段操作码操作码6868数据段数据段262623232 20 00 00 0DSDS0 01 11 10 0SISI22678226782626AHAH0 01 10 00 0BXBX+2468+24682424图3-11 相对的基址和变址寻址方式操作过程过程题题 目目 1 1:已已 知知 当当 前前 BX=1200HBX=1200H,
23、CS=1800HCS=1800H,IP=0500HIP=0500H,DS=3000HDS=3000H,则则执执行行指指令令MOV MOV BX+2000HBX+2000H,12ABH 12ABH 后后,12ABH12ABH放在哪两个存储单元放在哪两个存储单元(物理地址物理地址)?答答案案:12ABH12ABH放放在在33200H33200H和和33201H33201H存存储储单单元元中中。其其中中12H12H放放在在33201H33201H单元中,而单元中,而0ABH0ABH放在放在3320033200单元中。单元中。4 4、I IO O端口寻址端口寻址操作数在操作数在I IO O端口中端口中
24、,指令给出操作数在指令给出操作数在I IO O端口中的端口地址信息端口中的端口地址信息:两种编址方式:两种编址方式:与存储器统一编址方式、独立的与存储器统一编址方式、独立的I IO O空间编址方式空间编址方式l与存储器统一编址方式,上述五种存储器寻址方式均可采用。与存储器统一编址方式,上述五种存储器寻址方式均可采用。l独立的独立的I IO O空间编址方式则对空间编址方式则对I IO O端口有两种寻址方式:端口有两种寻址方式:直接端口寻址方式直接端口寻址方式间接端口寻址方式间接端口寻址方式(l(l)直接端口寻址方式)直接端口寻址方式端口地址的寻址范围是端口地址的寻址范围是 0-0FFH0-0FF
25、H,端口地址直接由指令给出。,端口地址直接由指令给出。举例:举例:IN AL,27H IN AL,27H 表示从表示从I/OI/O地址号为地址号为27H27H的端口读取数据送到的端口读取数据送到ALAL中。中。注意:注意:端口地址的寻址范围。端口地址的寻址范围。27H27H不是立即数也不是直接地址,是不是立即数也不是直接地址,是端口地址端口地址,不需要加方括号。,不需要加方括号。(2(2)间接端口寻址方式)间接端口寻址方式端口地址的寻址范围是端口地址的寻址范围是0-0FFFFH0-0FFFFH,端口地址由,端口地址由DXDX寄存器寄存器给出。给出。举例:举例:OUT DX,AL OUT DX,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 微型计算机 原理 应用 61631 PPT 课件
限制150内