微机原理指令小结.doc
上传人:王子****青蛙 上传时间:2024-09-14 格式:DOC 页数:8 大小:127KB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

微机原理指令小结.doc

微机原理指令小结.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

10 金币

下载此文档

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

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

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

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

8086CPU指令小结所有指令:(1)立即数不能作为目得操作数。(2)不能在2个存储单元之间直接进行操作(串操作除外)。(3)MOV指令与堆栈指令就是惟一能对段寄存器进行操作得指令。(4)源与目得操作数得数据类型必须匹配,都就是8位,或都就是16位。(5)CS、IP不能直接作为操作数。(6)指令中至少要有一项明确说明传送得就是字节还就是字,如果没有,可通过PTR进行设置。一、传送指令(1)6种指令:通用传送指令、堆栈操作指令、交换操作指令、I/O操作指令、目得地址传送指令与标志传送指令。(2)对标志位得影响:除标志传送(SAHF、POPF)外,均不影响标志位。(3)操作数表示方法:立即数——data,存储器单元地址——mem,寄存器——reg,段寄存器——segreg。1、通用传送指令:完成数据传送(1)指令格式:MOVOPRD1,OPRD2;[目得操作数OPRD1]←[源操作数OPRD2](2)源OPRD2:data、mem、reg、segreg。(3)目得OPRD1:mem、reg、segreg。(4)通用传送指令MOV与堆栈指令就是唯一允许以段寄存器(代码段寄存器CS与指令指针IP除外,即CS、IP不能作为直接操作数)作为操作数得指令,不允许通过MOV指令直接以立即数方式给段寄存器赋值,不允许直接在两个段寄存器之间直接进行传送。(5)8位/16位操作。2、堆栈操作指令:将数据压入/弹出堆栈(1)指令格式:入栈:PUSHOPRD;先修改堆栈指针SP2,然后将数据压入堆栈。;SP=SP1,[SP]=操作数高8位;SP=SP1,[SP]=操作数低8位。出栈:POPOPRD;先将数据弹出堆栈,然后修改堆栈指针SP+2。;(操作数低8位)←[SP],SP=SP+1;(操作数高8位)←[SP],SP=SP+1。(2)操作数:mem、reg、segreg。操作数不能就是立即数data。(3)仅能进行字运算(16位操作)。(4)堆栈存取原则为后进先出,只有一个入/出口SS:SP,SP始终指向栈顶,SP就是自动修改得,SP在初始化中需要设置。(5)PUSH、POP指令必须成对使用。3、交换操作指令:XCHG——数据交换;XLAT——完成一个字节得换码转换(1)指令格式:交换操作指令:XCHGOPRD1,OPRD2;[OPRD1]←→[OPRD2]累加器换码指令(表转换指令、查表指令):XLAT;(AL)←((DS)×16+(BX)+(AL))(2)XCHG:段寄存器与立即数不能作为一个操作数,8位/16位操作。(3)XLAT:表首地址在BX中,AL得内容作为某一项到表首得偏移量(256字节得表得下标),转换后得结果存放在AL中。4、I/O操作指令:累加器(AX/AL)与I/O端口之间得数据传送(1)指令格式:输入指令:INAL/AX,PORT;(AL/AX)←[PORT]INAL/AX,DX;(AL/AX)←[DX]输出指令:OUTPORT,AL/AX;[PORT]←(AL/AX)OUTDX,AL/AX;[DX]←(AL/AX)(2)当端口地址≤255时,使用PORT(8位端口直接地址);当端口地址≥255时,必须用DX(16位端口直接地址)作桥梁。DX作端口寻址最多可寻找64K个端口。(3)PORT为直接寻址,8位/16位操作。5、目得地址传送指令(1)取有效地址指令:LEAOPRD1,OPRD2或:LEAreg,[add];(reg)←add,add为有效地址把存储器得有效地址EA(源操作数得地址偏移量)送入一个寄存器reg;常用于将一个16位得通用寄存器作为地址指针。传送得就是有效地址EA。(2)将双地址指针装入DS与另一个寄存器指令LDS指令:LDSOPRD1,OPRD2或:LDSreg,[add];(reg)←(add+1)(add),(DS)←(add+3)(add+2)(3)将双地址指针装入ES与另一个寄存器指令LES指令:LESOPRD1,OPRD2或:LESreg,[add];(reg)←(add+1)(add),(ES)←(add+3)(add+2)①从源操作数指定得存储单元中取出4字节得地址指针(包括2字节得段地址与2字节得偏移量)传送到DS/ES与reg。指定将段地址送入DS/ES,偏移量部分送入一个16位得指针寄存器或变址寄存器。②源操作数mem,目得操作数必须就是一个16位得通用寄存器。③传送得就是存储单元得内容,而不就是存储器得有效地址EA。6、标志传送指令(1)读标志指令:LAHF;(AH)←(FR)0~7功能:将标志寄存器中得SF、ZF、AF、PF与CF(即低8位)传送至AH寄存器得指定位,