欢迎来到天天文库
浏览记录
ID:48188466
大小:319.50 KB
页数:26页
时间:2020-01-15
《微机原理24.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、MOVAX,[SI]在哪里?寻找数据位置(地址)在哪里?做什么目的操作数源操作数2.48086寻址方式寻找操作数存放地址的方式称为寻址方式8086的寻址方式分为两类:数据寻址方式转移地址寻址方式√本节8086寻址方式2.4.1立即寻址2.4.2寄存器寻址2.4.3存储器寻址2.4.3.1直接寻址2.4.3.2寄存器间接寻址2.4.3.3带位移的基址寻址2.4.3.4带位移的变址寻址2.4.3.5基址变址寻址2.4.3.6带位移的基址变址寻址该寻址方式中,指令直接给出8/16位的操作数(立即数)。操作数紧跟在操作码之后,作为指令的操作数字段存放在指令代码中。
2、如果是16位立即数,那么低位字节数存放在低地址单元中,高位字节数存放在高地址单元中。2.4.1立即寻址OP78H35H例2.2MOVAX,3578H;AX3578H指令存放在代码段中,图中OP表示该指令的操作码部分。CSAXAHALXXXX代码段78H35H操作数在寄存器中,指令给出存放操作数的寄存器号(寄存器名称)即可。对于16位操作数,寄存器可以是AX、BX、CX、DX、SI、DI、SP、BP和CS、DS、SS、ES等;对于8位操作数,寄存器可以是AL、AH、BL、BH、CL、CH、DL和DH。该寻址方式由于操作数在寄存器中,不需访问存储器,故可得到较
3、高的运算速度。2.4.2寄存器寻址例2.3MOVAX,BX若指令执行前,AX=3064H,BX=1234H。3064H1234HAXBX1234H问题:(1)如果指令为MOVAL,BL呢?则指令执行后,AX=1234H,BX=1234H。(2)如果指令为MOVAX,3456H,操作数的寻址方式各是什么?存储器寻址的操作数在某个/某几个存储单元中。存储器单元的逻辑地址由两部分组成:段地址:偏移地址。段地址通常由DS提供。如果通过基址指针BP寻址,则段址由SS提供。2.4.3存储器寻址BXSI8位EA=++位移量BPDI16位以上3个分量的不同组合,可以构成6
4、种不同的有效地址形成方式,即6种寻址方式。偏移地址(有效地址、EA)由下面3个地址分量计算得到:EA=基址+变址+位移量⑴直接寻址在直接寻址方式中,操作数的有效地址由指令直接给出。EA=位移量在指令机器码中,16位有效地址存放在代码段指令操作码后的操作数字段中。例如:设DS=1241H,AX=7390H,而指令如下:MOVAX,[3000H]操作码00H30H48H45H代码段数据段CS→操作:12410H+EA=3000HPA=15410H15410H15411HAX73H90H45H48H直接寻址⑵寄存器间接寻址操作数的有效地址由基址寄存器BX、BP或
5、变址寄存器SI、DI提供。BXBPEA=SIDI例如:设DS=2000H,AX=8040H,BX=1000HMOVAX,[BX]A0H50H数据段DS→操作:20000H+EA=1000HPA=21000H21000H21001HAX80H40H50HA0HBX10H00H⑶带位移的基址寻址操作数的有效地址由基址寄存器的值与位移量相加形成,即BXEA=+位移量BP12H例如:设SS=3000H,BP=2000HMOVAX,[BP+4000H]或MOVAX,4000H[BP];操作码00H40H34H12H代码段数据段CS→操作:30000H+EA=2000
6、H+4000HPA=36000H36000H36001HAX34HSS→BP20H00H⑷带位移的变址寻址操作数的有效地址由变址寄存器的值与位移量相加形成,即EA=变址+位移量例2.8MOVAL,COUNT[SI]或MOVAL,[SI+COUNT]其中位移量COUNT为符号地址,可由伪指令来定义,(详见第3章伪指令)。其功能是:将数据段中EA=(SI+COUNT的16位偏移量)的内存单元的8位操作数送给AL:即AL←(SI+COUNT)⑸基址变址寻址操作数的有效地址是基址寄存器的值与变址寄存器的值相加形成,即:EA=基址+变址12H例如:设DS=3000H
7、,BX=6780H,DI=0041HMOVAX,[BX+DI]或MOVAX,[BX][DI];34H12H数据段操作:30000H+EA=6780H+0041HPA=367C1H367C1H367C2HAX34HDS→BX67H80HDI00H41H⑹带位移的基址变址寻址操作数的有效地址是一个基址寄存器的内容,一个变址寄存器的内容与位移量之和,即:EA=基址+变址+位移量56H例如:设DS=3000H,BX=2000H,SI=1000H,MASK=0250HMOVAX,[BX+SI+MASK]或MOVAX,MASK[BX+SI]或MOVAX,MASK[BX
8、][SI]OP50H02H78H56H数据段操作:30000H+E
此文档下载收益归作者所有