预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共220页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第三章8086指令系统重点3-18086的寻址方式指令通常涉及执行前与执行后的数据,执行前的称为源操作数,执行后的结果称为目的操作数。MOVAX,BX源操作数目的操作数指令有单操作数、双操作数以及隐含操作数之分。单操作数的源和目的相同;双操作数用“,”分隔,左边为目的,右边为源;隐含操作数不在指令码中指明,而是预先规定死的。从数学角度来说,操作数分为常数与变量两类。常数是指程序运行过程中数值保持不变的数,变量是指程序运行中数值可以改变的量。计算机中能够存放操作数的有寄存器和存储器,而存储器又分为程序与数据两种。寄存器中的内容可在程序运行中改变。数据RAM单元的值在程序运行中可以改变的。程序通常存放在ROM中,存放在代码段,由CS管理,运行中不会改变。数据传送指令MOV目的,源操作:将源操作数的值复制到目的操作数中,原操作数保持不变一、立即数寻址外部总线例:MOVAL,80HMOVAH,0ABHMOVAX,1234H二、寄存器寻址存储器操作数的寻址外部总线三、直接寻址方式例:设DS=5000HMOVAX,[4321H]段超越符号地址四、寄存器间接寻址例:设AX=0102H,BX=2346H,DS=1000H,ES=2000HMOVAX,[BX]1、以BX寄存器进行间接寻址——数据段基址寻址例:若DS=2000H,ES=3000H,BX=1000H1)MOVAX,[BX]AX←(21000H)(21001H)AX=5B40HMOVCX,ES:[BX]AX←(31000H)(31001H)2、以BP寄存器进行间接寻址——堆栈段基址寻址MOVAX,[BP]若SS=5000H,BP=3020H,将53020H、53021H单元的内容送AX。执行结果:AX=4A56H2)MOVBX,[DI]若DS=0FFF0H,DI=0200H执行结果:BX(?)(?)五、寄存器相对寻址寄存器相对寻址的物理地址形成分两步进行。第一步计算有效地址EA,这一步在执行部件EU中完成,需要注意的是,EA的计算是16位数据运算,通过16位内部总线传送,超过16位的数据会自然丢失。第二步是根据EA和段基址计算物理地址,这一步在地址加法器中完成。例:设DS=2000H,BX=0AB00H,ARRAY=0F000H六、基址变址寻址七、相对基址变址寻址例:若BX=5000H,SI=2000H,DS=4000H,SS=1000H,BP=3100H。则:例:设BX=0158H,DI=10A5H,DS=2100H,位移量=1B57H,DS作为操作数的段寄存器。1)直接寻址:MOVAX,[1B57H]有效地址=1B57H物理地址=21000H+1B57H=22B57H2)寄存器间接寻址:MOVAX,[BX]有效地址=0158H物理地址=21000H+0158H=21158H3)BX寄存器相对间接寻址:MOVAX,[BX+1B57H]有效地址=0158H+1B57H=1CAFH物理地址=21000H+1CAFH=22CAFH4)变址寻址:MOVAX,[DI]有效地址=105AH物理地址=21000H+105AH=220A5H5)DI寄存器相对变址寻址:MOVAX,[DI+1B57H]有效地址=105AH+1B57H=2BFCH物理地址=21000H+2BFCH=23BFCH6)基址加变址的寻址:MOVAX,[BX+DI]有效地址=0158H+105AH=11FDH物理地址=21000H+11FDH=221FDH7)相对的基址加变址的寻址:MOVAX,[BX+DI+1B57H]有效地址=0158H+105AH+1B57H=2D54H物理地址=21000H+2D54H=23D54H寄存器寻址:指令中给出寄存器,操作数是该寄存器的内容指令寄存器内存指令基址寄存器变址寄存器基址寄存器变址寄存器位移量八、其它3-2指令的机器码表示方法二、机器语言指令代码的编制单字节指令(隐含的操作数)单字节指令(寄存器模式)寄存器到寄存器不带位移量的寄存器和内存之间的传送带位移量的寄存器和内存之间的传送(设位移量为16位)立即数送寄存器(设立即数为16位)立即数送内存(设带16位位移量)图3-38086指令格式举例操作码:指出执行这条指令时,CPU要做什么操作。(OP)一般用指令的一个字节表示,有时由于用8位还不够,常在指令的第二个字节中还可占有3位操作码。指令的第一字节:wd立即方式寻址时,操作码中用S位表示符号扩展s=1,将8位立即数扩展成16位数时2、操作数域:操作码域后面所跟的字节一般统称为操作数域。•2字节的有效地址(直接寻址);•1字节或者2字节的位移量;•1字节或者2字节的立即数;•1字节或者2字节的位移量,后面再跟1字节或者2字节的立即数;•2字节的位移量和2字节的段地址(只对段间接转移而