欢迎来到天天文库
浏览记录
ID:48248258
大小:1.07 MB
页数:100页
时间:2020-01-18
《第3章 寻址方式和指令系统.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第3章寻址方式和指令系统指令格式:操作符(或称操作码)目的操作数,源操作数或操作符操作数或操作符3.1寻址方式寻址方式就是指令中用于说明操作数所在地址的方法。一、立即寻址立即寻址方式中,指令操作码和操作数都在存储器代码段中。汇编格式:n(n为立即操作数,是用8位或16位二进制补码表示的有符号数)。功能:操作数包含在指令中,指令下一单元的内容为立即操作数n。图形表示:【例1】MOVAX,10执行后(AX)=?该例中源操作数为立即寻址方式,立即数为10,存放在指令的下一单元。图形表示:执行:10→AX执行后:(AX
2、)=000AH二、寄存器寻址寄存器寻址方式的操作数在指令指明的寄存器中。汇编格式:R其中R表示寄存器名。功能:操作数直接存放在寄存器R中。R指令→操作数【例3】下列程序执行后,(AX)=?,(BX)=?MOVAX,1234HMOVBX,5678HMOVAX,BX执行:1234H→AX5678H→BX(BX)→AX执行后:(AX)=5678H,(BX)=5678H三、直接寻址汇编格式:①含有变量的地址表达式。②段寄存器名:[EA]。功能:指令下一字单元的内容是操作数的偏移地址EA。图形表示:【例4】寄存器和存储器
3、内容为:(AX)=1212H,(DS)=3000H,(32000H)=4545H。执行指令:MOVAX,[2000H]执行后:(AX)=?图形表示:执行:(32000H)→AX执行后:(AX)=4545H四、寄存器间接(相对)寻址寄存器间接寻址方式中,寄存器的内容为操作数的偏移地址EA,操作数在存储器中。汇编格式:[R]功能:操作数存放在存储器,寄存器R存放操作数的偏移地址EA。偏移地址EA=[SI]SI作间址寄存器。[DI]DI作间址寄存器。[BX]BX作间址寄存器。[BP]BP作间址寄存器。执行指令:MOV
4、AX,[BP]执行后:(AX)=?,(BP)=?,(SS)=?,(20030H)=?图形表示如下:【例5】寄存器和存储器内容分别为:(AX)=0,(BP)=0030H,(SS)=2000H,(20030H)=1234H五、寄存器相对寻址寄存器相对寻址方式操作数的偏移地址EA为寄存器的内容加位移量,操作数在存储器中。汇编格式:X[R](X表示位移量,是8位或16位二进制补码表示的有符号数)功能:操作数存放在存储器,寄存器R的内容加位移量X为操作数的偏移地址EA。图形表示:偏移地址EA计算方法如下:【例5】设执行前
5、:(AX)=0040H,(BX)=0030H,(DS)=2000H,(20036H)=0050H执行指令:ADD6[BX],AX执行后:(AX)=?,(BX)=?,(DS)=?,(20036H)=?图形表示如下:执行:(20036H)+(AX)→20036H执行后:(AX)=0040H,(BX)=0030H,(DS)=2000H,(20036H)=0090H。六、基址变址寻址基址变址寻址方式中,操作数的偏移地址EA是指令中基址寄存器内容、变址寄存器内容两项之和,操作数在存储器中。格式:[BR+IR]功能:操作数
6、存放在存储器,BR的内容加IR的内容加位移量X是操作数的偏移地址EA。操作数偏移地址EA计算方法如下七、相对基址变址寻址相对基址变址寻址方式中,操作数的偏移地址EA是指令中基址寄存器内容、变址寄存器内容、位移量X三项之和,操作数在存储器中。格式:X[BR+IR]功能:操作数存放在存储器,BR的内容加IR的内容加位移量X是操作数的偏移地址EA。图形表示:操作数偏移地址EA计算方法如下3.1.7跨段问题若选用BP作间址或基址寄存器,则操作数在堆栈段,操作数的物理地址由堆栈段寄存器SS的内容左移4位与BP相加后形成;
7、否则,操作数在数据段,操作数的物理地址由数据段寄存器DS的内容左移4位与偏移地址相加后形成。该规定为系统默认状态。当要否定默认状态,到非约定段寻找操作数时,必须用跨段前缀指明操作数的段寄存器名。汇编格式:段寄存器名:操作数地址。功能:段寄存器名指明操作数属哪个段。【例7】跨段前缀示例。MOVAX,DS:[BP]MOVCX,SS:[SI]该例中,DS:,SS:均为跨段前缀,此时默认状态无效,操作数的物理地址PA由段寄存器内容左移4位加偏移EA形成。上述2条指令的源操作数物理地址分别为:PA1=(DS)左移4位+[
8、BP]PA2=(SS)左移4位+[SI]习题:假定DS=2000H,ES=2100H,SS=1500H,SI=00A0H,BX=0100H,BP=0010H,请指出下列指令的源操作数字段是什么寻址方式?它的物理地址是多少?①MOVAX,0ABH②MOVAX,BX③MOVAX,[100H]④ES:MOVAX,[BX]⑤MOVAX,[BP]⑥MOVAX,[BX+10]⑦MOVAX,50[B
此文档下载收益归作者所有