微机原理与接口技术:第3章 寻址方式与指令系统-1

上传人:努力****83 文档编号:193039189 上传时间:2023-03-07 格式:PPT 页数:30 大小:1.11MB
返回 下载 相关 举报
微机原理与接口技术:第3章 寻址方式与指令系统-1_第1页
第1页 / 共30页
微机原理与接口技术:第3章 寻址方式与指令系统-1_第2页
第2页 / 共30页
微机原理与接口技术:第3章 寻址方式与指令系统-1_第3页
第3页 / 共30页
点击查看更多>>
资源描述
第第3 3章章 寻址方式与指令系统寻址方式与指令系统 概述概述1 8086寻址方式寻址方式2 8086指令系统指令系统3 INC CX ADD AX,BX操作码操作码操作数操作数.操作数操作数MOV AL,08H例:例:INC CX 操作数在内存数据区,操作数字段包含着此操作数地址。任何内存地址是由两部分组成:段的基地址:存储单元所在段的基地址 段内偏移量:此单元与段基地址的距离(Effective Address):直接寻址,寄存器间接寻址,寄存器相对寻址,直接寻址,寄存器间接寻址,寄存器相对寻址,基址加变址寻址,相对基址加变址寻址。基址加变址寻址,相对基址加变址寻址。寻址方式寻址方式如何寻找操作数。不同寻址方式实质上如何寻找操作数。不同寻址方式实质上是构成它是构成它段内的偏移量的方法段内的偏移量的方法不同不同。n n 立即寻址立即寻址(Immediate addressingImmediate addressing)例:例:MOV AL,05H指令执行后指令执行后:(AL)=05H例:例:MOV AX,3064H指令执行后指令执行后:(AX)=3064H.操作码操作码64H64H30H30H代代码码段段64H64H.30H30HALALAHAH指指令令.操作码操作码05H05H代代码码段段05H05H.ALAL指指令令操作数在寄存器中,指令中指定寄存器号。操作数在寄存器中,指令中指定寄存器号。:、n 寄存器寻址方式寄存器寻址方式 (Register addressing)(AX)3064 (SS)1234 MOV SS,AX(SS)3064H (AX)。寄存器寻址方式寄存器寻址方式SSSSAXAX3064H3064H3064H3064H1234H1234H3064H3064H物理地址物理地址:PA16d(DS)+EA IBM/PC(可以是(可以是CS,SS,ES)。)。n 直接寻址直接寻址(Direct addressing)例:例:MOV AX,3100H(DS)=6000H,(63100H)=3050H 则则:(AX)=3050H又如:用符号地址代替数值地址。又如:用符号地址代替数值地址。MOV AX,VALUE 或或 MOV AX,VALUEVALUE 有效操作数单元的有效操作数单元的 符号地址。符号地址。如:如:VALUE在附加段中,在附加段中,则应指定段跨越。则应指定段跨越。MOV AX,ES:VALUE 或或MOV AX,ES:VALUE直接寻址方式直接寻址方式6000H6000H.操作码操作码00003131.50H50H30H30H.6 0 0 0 06 0 0 0 03 1 0 03 1 0 0+6 3 1 0 06 3 1 0 063100H63100H30H30H50H50HAHAHALAL代代码码段段数数据据段段DSDS注意:注意:1616:BPBP、BXBX、SISI、DIDI寄存器。寄存器。1.1.选择选择SISI、DIDI、BXBX作为间接寻址作为间接寻址操作数一般在现行数据段中,操作数一般在现行数据段中,用用(DS)(DS)作为段地址作为段地址。即操作数物理地址为:即操作数物理地址为:物理地址物理地址PA=16d(DS)+(BX)物理地址物理地址PA=16d (DS)+(SI)物理地址物理地址PA=16d (DS)+(DI)例:例:MOV BX,DI (DS)=6000H (DI)=2000H PA=62000H (62000H)=50A0H (BX)=50A0H寄存器间接寻址方式寄存器间接寻址方式 MOV BX,DI6000H6000H2000H2000HDSDSDIDI6 0 0 0 06 0 0 0 02 20 00 00 0+6 2 0 0 06 2 0 0 0.AOHAOH50H50H.62000H62000H50H50HA0HA0HBLBLBHBH数数据据段段2 2 选择选择BP寄存器作为间接寻址寄存器作为间接寻址 操作数在堆栈段区域中,用操作数在堆栈段区域中,用SS寄存器的内容作为段地址。寄存器的内容作为段地址。操作数物理地址操作数物理地址:PA=16d (SS)+(BP)例:例:MOV BP,AX执行前:执行前:(SS)=1000H,(BP)=3000H,(AX)=1234H执行后:执行后:PA=13000H (13000H)=1234H1000H1000H3000H3000HSSSSBPBP1 0 0 0 01 0 0 0 03 30 00 00 0+1 3 0 0 01 3 0 0 0.34H34H12H12H.13000H13000H12H12H34H34HALALAHAH堆堆栈栈段段寄存器间接寻址方式寄存器间接寻址方式 MOV BP,AX3.3.用用 SISI、DIDI、BX BX、BPBP作为间接寻址允许段跨越作为间接寻址允许段跨越 指令中可以指定段指令中可以指定段跨越前缀来取得其他段中的数据。跨越前缀来取得其他段中的数据。例:例:MOV ES:DI,AX MOV DX,DS:BP 这种寻址方法可以用于表格处理。这种寻址方法可以用于表格处理。n 寄存器相对寻址方式寄存器相对寻址方式(Register relative addressing)EAEA=(BX)(BX)(SI)(SI)(DI)(DI)+8位位移量8位位移量16位位移量16位位移量(BP)(BP)8086CPU :源变址寄存器源变址寄存器 SI;目的变址寄存器目的变址寄存器 DI。操作数一般在内存的数据段中,但允许段跨越。操作数一般在内存的数据段中,但允许段跨越。除有段跨越前缀之外,形成物理地址有二种方式:除有段跨越前缀之外,形成物理地址有二种方式:PA=16d(DS)+PA=16d(DS)+(BX)(BX)(SI)(SI)(DI)(DI)+8位位移量8位位移量16位位移量16位位移量PA=16d(SS)+PA=16d(SS)+(BP)(BP)+8位位移量8位位移量16位位移量16位位移量 MOV AX,COUNT BP或或MOV AX,COUNT+BP或或MOV AX,COUNT+BP COUNT为为16位位移量。位位移量。指令执行前指令执行前:(SS)=5000H,(BP)=3000H,COUNT=2040H,(AX)=1234H指令执行后指令执行后:EA=5040HPA=55040H(55040H)=5548H(AX)=5548H 寄存器相对寻址方式寄存器相对寻址方式MOV AX,COUNTBPOPOPOPOP40H40H20H20H.48H48H55H55H.55H55H48H48H存储器存储器操操作作码码位移量位移量COUNTCOUNT代代码码段段堆堆栈栈段段55040H55040H50000H50000HAHAHALAL用途:这种寻址方式同样用于用途:这种寻址方式同样用于表格处理表格处理。表格首地址表格首地址COUNT 修改基址或变址寄存器来取得表格中的值。修改基址或变址寄存器来取得表格中的值。例:某数据表的首地址为例:某数据表的首地址为COUNT 欲读取表中第欲读取表中第10个数据个数据,存放到(存放到(AL)中。中。第第10个数据的有效地址个数据的有效地址:EA=COUNT+9MOV SI,09HMOV AL,SI+COUNT 直接变址寻址方式也可以使用段跨越前缀直接变址寻址方式也可以使用段跨越前缀 MOV DL,ES:STRINGSIn基址加变址寻址方式基址加变址寻址方式 操作数的操作数的有效地址是一个基址寄存器和一个变址寄有效地址是一个基址寄存器和一个变址寄存器的内容之和存器的内容之和,基址寄存器名和变址寄存器名均,基址寄存器名和变址寄存器名均有指令指定。有指令指定。(BP)(BP)+(DI)(DI)(SI)(SI)EA=EA=(BX)(BX)+(DI)(DI)(SI)(SI)EA=EA=除有段跨越前缀之外,形成物理地址有二种方式:除有段跨越前缀之外,形成物理地址有二种方式:PA=16d(DSPA=16d(DS)+)+(BX)(BX)+(DI)(DI)(SI)(SI)PA=16d(SPA=16d(SS S)+)+(BP)(BP)+(DI)(DI)(SI)(SI)例:例:MOV AX,BXSI或或 MOV AX,BX+SI执行指令前执行指令前:(DS)=3200H,(BX)=0456H,(SI)=1094H (334EAH)=4567H执行指令后执行指令后:EA=14EAH PA=334EAH (AX)=4567H基址加变址寻址方式基址加变址寻址方式 MOV AX,BX+SI.67H67H45H45H存储器存储器32000H32000H334EAH334EAH45H45H67H67HALALAHAH数数据据段段.用途:这种寻址方式同样适用于数组或表格处理。用途:这种寻址方式同样适用于数组或表格处理。表格首地址表格首地址 基址寄存器中基址寄存器中,用变址寄存器来访问数组中的元素。用变址寄存器来访问数组中的元素。二个寄存器都能修改,二个寄存器都能修改,所以比直接变址方式更灵。所以比直接变址方式更灵。这种寻址方式允许段跨越这种寻址方式允许段跨越使用段跨越前缀格式使用段跨越前缀格式:MOV AX,ES:BXSI 操作数有效地址是一个基址寄存器和一个变址寄存器的内容和8位或16位位移量之和。(BP)(BP)+(DI)(DI)(SI)(SI)+8位位移量8位位移量16位位移量16位位移量EA=EA=(BX)(BX)+(DI)(DI)(SI)(SI)+8位位移量8位位移量16位位移量16位位移量EA=EA=(DI)(DI)PA=16d(SSPA=16d(SS)+)+(BP)(BP)+(SI)(SI)+8位位移量8位位移量16位位移量16位位移量(DI)(DI)PA=16d(DSPA=16d(DS)+)+(BX)(BX)+(SI)(SI)+8位位移量8位位移量16位位移量16位位移量例:例:MOV AX,MASKBXDIMOV AX,MASK BX+DIMOV AX,MASX+BX+DI执行指令前执行指令前:(DS)=3000H(BX)=1346H(DI)=0500HMASK=1234H(32A7AH)=4050H执行指令后执行指令后:EA=2A7AHPA=32A7AH(AX)=4050H 相对基址加变址相对基址加变址MOV AX,MASK+BX+DIOPOPOPOP34H34H12H12H.50H50H40H40H存储器存储器30000H30000H32A7AH32A7AH40H40H50H50HALALAHAH数数据据段段操操作作码码位移位移量量MASKMASK代代码码段段
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!