微机原理指令合集

合集下载

微机原理中部分指令列表汇总

微机原理中部分指令列表汇总

条件转移指令指令助记符转移条件含义无符号数条件转移指令JA/JNBE CF=ZF=0 高于,转移/不低于或等于,转移JAE/JNB CF=0 高于或等于,转移/不低于,转移JB/JNAE CF=1 低于,转移/不高于或等于,转移JBE/JNA CF=1或ZF=1 低于或等于,转移/不高于,转移JE/JZ ZF=1 等于,转移/为零,转移JNE/JNZ ZF=0 不等于,转移/ 不为零,转移有符号数条件转移指令JE/JZ ZF=1 等于,转移/为零,转移JG/JNLE ZF=0或SF=OF 大于,转移/不小于或等于,转移JGE/JNL SF=OF 大于或等于,转移/不小于,转移JL/JNGE SF≠OF 小于,转移/不大于或等于,转移JLE/JNG ZF=1或SF≠OF 小于或等于,转移/不大于,转移JNE/JNZ ZF=0 不等于,转移/ 不为零,转移其他条件转移指令JB/JC CF=1 有借/进位,转移JNC CF=0 无进位,转移JNO OF=0 无溢出,转移JNP/JPO PF=0 无奇偶校验,转移/奇校验,转移JNS SF=0 无符号,转移JO OF1 溢出,转移JP/JPE PF=1 有奇偶校验,转移/偶校验,转移JS SF=1 有符号,转移JCXZ (CX)=0 CX寄存器为0,转移标志位操作指令指令名指令格式功能说明清进位指令CLC 清进位标志CF(CF←0)置进位指令STC 置进位标志(CF←1)进位取反指令CMC 进位标志取反(CF←/CF)清方向标志指令CLD 清方向标志(DF←0),使所有串指令的标识指针为增量置方向标志指令STD 置方向标志(DF←1),使所有串指令的标识指针为减量关中断指令CLI 清中断允许标志(IF←0),禁止CPU响应外部可屏蔽中断开中断指令STI 置中断允许标志(IF←1),允许CPU响应外部可屏蔽中断条件设置字节指令指令助记符设置条件指令条件说明SETC/SETB/SETNAE CF=1 有进位/低于/不高于或等于SETNC/SETAE/SETNB CF=0 无进位/高于或等于/不低于SETO OF=1 溢出SETNO OF=0 无溢出SETP/SETPE PF=1 校验为偶SETNP/SETPO PF=0 校验为奇SETS SF=1 为负数SETNS SF=0 为正数SETA/SETNBE CF=ZF=0 高于/不低于或等于SETBE/SETNA CF=1或ZF=1 低于或等于/不高于SETE/SETZ ZF=1 等于/为零SETNE/SETNZ ZF=0 不等于/非零SETG/SETNLE ZF=1或SF=OF 大于/不小于或等于SETGE/SETNL SF=OF 大于或等于/不小于SETL/SETNGE SF≠OF 小于/不大于或等于SETLE/SETNG ZF=1或SF≠OF 小于或等于/不大于系统寄存器装入与存储指令指令名指令格式功能装入CR指令MOV CR n,32位通用寄存器CR n←(32位通用寄存器),n=0,2,3,4存储CR指令MOV 32位通用寄存器,CR n32位通用寄存器←(CRn),n=0,2,3,4装入DR指令MOV DR n,32位通用寄存器DR n←(32位通用寄存器),n=0~7存储DR指令MOV 32位通用寄存器,DR n32位通用寄存器←(DR n),n=0~7读模型专用寄存器RDMSR EDX:EAX←(MSR), ECX指定寄存器号00H~13H 写模型专用寄存器WRMSR MSR←(EDX:EAX), ECX指定寄存器号00H~13H 装入机器状态字LMSW 源操作数MSW←(源操作数)存储机器状态字SMSW 目的操作数目的操作数←(MSW)装入GDTR/IDTR LGDT/LIDT 存储器GDTR/IDTR←(存储器)存储GDTR/IDTR SGDT/SIDT 存储器存储器←(GDTR)/(IDTR)装入LDTR LLDT 源操作数LDTR←(源操作数)存储LDTR SLDT 目的操作数目的操作数←(LDTR)装入任务寄存器LTR 源操作数TR←(源操作数)存储任务寄存器STR 目的操作数目的操作数←(TR)外同步和空操作指令类别指令格式功能外同步HLT 使CPU停止程序执行,进入暂停状态。

微机原理常用命令

微机原理常用命令

一、数据传输指令它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据。

1. 通用数据传送指令MOV 传送字或字节.MOVSX 先符号扩展,再传送.MOVZX 先零扩展,再传送.PUSH 把字压入堆栈.POP 把字弹出堆栈.PUSHA 把AX,CX,DX,BX,SP,BP,SI,DI依次压入堆栈.POPA 把DI,SI,BP,SP,BX,DX,CX,AX依次弹出堆栈.PUSHAD 把EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI依次压入堆栈.POPAD 把EDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX依次弹出堆栈.BSWAP 交换32位寄存器里字节的顺序XCHG 交换字或字节.( 至少有一个操作数为寄存器,段寄存器不可作为操作数) CMPXCHG 比较并交换操作数.( 第二个操作数必须为累加器AL/AX/EAX ) XADD 先交换再累加.( 结果在第一个操作数里)XLAT 字节查表转换.── BX 指向一张256 字节的表的起点, AL 为表的索引值(0-255,即0-FFH); 返回AL 为查表结果. ( [BX+AL]->AL )2. 输入输出端口传送指令.IN I/O端口输入. ( 语法: IN 累加器, {端口号│DX} )OUT I/O端口输出. ( 语法: OUT {端口号│DX},累加器)输入输出端口由立即方式指定时, 其范围是0-255; 由寄存器DX 指定时,其范围是0-65535.3. 目的地址传送指令.LEA 装入有效地址.例: LEA DX,string ;把偏移地址存到DX.LDS 传送目标指针,把指针内容装入DS.例: LDS SI,string ;把段地址:偏移地址存到DS:SI.LES 传送目标指针,把指针内容装入ES.例: LES DI,string ;把段地址:偏移地址存到ES:DI.LFS 传送目标指针,把指针内容装入FS.例: LFS DI,string ;把段地址:偏移地址存到FS:DI.LGS 传送目标指针,把指针内容装入GS.例: LGS DI,string ;把段地址:偏移地址存到GS:DI.LSS 传送目标指针,把指针内容装入SS.例: LSS DI,string ;把段地址:偏移地址存到SS:DI.4. 标志传送指令.LAHF 标志寄存器传送,把标志装入AH.SAHF 标志寄存器传送,把AH内容装入标志寄存器.PUSHF 标志入栈.POPF 标志出栈.PUSHD 32位标志入栈.POPD 32位标志出栈.二、算术运算指令ADD 加法.ADC 带进位加法.INC 加1.AAA 加法的ASCII码调整.DAA 加法的十进制调整.SUB 减法.SBB 带借位减法.DEC 减1.NEC 求反(以0 减之).CMP 比较.(两操作数作减法,仅修改标志位,不回送结果).AAS 减法的ASCII码调整.DAS 减法的十进制调整.MUL 无符号乘法.IMUL 整数乘法.以上两条,结果回送AH和AL(字节运算),或DX和AX(字运算), AAM 乘法的ASCII码调整.DIV 无符号除法.IDIV 整数除法.以上两条,结果回送:商回送AL,余数回送AH, (字节运算);或商回送AX,余数回送DX, (字运算).AAD 除法的ASCII码调整.CBW 字节转换为字. (把AL中字节的符号扩展到AH中去)CWD 字转换为双字. (把AX中的字的符号扩展到DX中去)CWDE 字转换为双字. (把AX中的字符号扩展到EAX中去) CDQ 双字扩展. (把EAX中的字的符号扩展到EDX中去) 三、逻辑运算指令AND 与运算.or 或运算.XOR 异或运算.NOT 取反.TEST 测试.(两操作数作与运算,仅修改标志位,不回送结果).SHL 逻辑左移.SAL 算术左移.(=SHL)SHR 逻辑右移.SAR 算术右移.(=SHR)ROL 循环左移.ROR 循环右移.RCL 通过进位的循环左移.RCR 通过进位的循环右移.以上八种移位指令,其移位次数可达255次.移位一次时, 可直接用操作码. 如SHL AX,1.移位>1次时, 则由寄存器CL给出移位次数.如MOV CL,04SHL AX,CL四、串指令DS:SI 源串段寄存器:源串变址.ES:DI 目标串段寄存器:目标串变址.CX 重复次数计数器.AL/AX 扫描值.D标志0表示重复操作中SI和DI应自动增量; 1表示应自动减量.Z标志用来控制扫描或比较操作的结束.MOVS 串传送.( MOVSB 传送字符. MOVSW 传送字. MOVSD 传送双字. )CMPS 串比较.( CMPSB 比较字符. CMPSW 比较字. )SCAS 串扫描.把AL或AX的内容与目标串作比较,比较结果反映在标志位.LODS 装入串.把源串中的元素(字或字节)逐一装入AL或AX中.( LODSB 传送字符. LODSW 传送字. LODSD 传送双字. )STOS 保存串.是LODS的逆过程.REP 当CX/ECX<>0时重复.REPE/REPZ 当ZF=1或比较结果相等,且CX/ECX<>0时重复.REPNE/REPNZ 当ZF=0或比较结果不相等,且CX/ECX<>0时重复.REPC 当CF=1且CX/ECX<>0时重复.REPNC 当CF=0且CX/ECX<>0时重复.五、程序转移指令1>无条件转移指令(长转移)JMP 无条件转移指令CALL 过程调用RET/RETF过程返回.2>条件转移指令(短转移,-128到+127的距离内)( 当且仅当(SF XOR OF)=1时,OP1<OP2 )JA/JNBE 不小于或不等于时转移.JAE/JNB 大于或等于转移.JB/JNAE 小于转移.JBE/JNA 小于或等于转移.以上四条,测试无符号整数运算的结果(标志C和Z).JG/JNLE 大于转移.JGE/JNL 大于或等于转移.JL/JNGE 小于转移.JLE/JNG 小于或等于转移.以上四条,测试带符号整数运算的结果(标志S,O和Z).JE/JZ 等于转移.JNE/JNZ 不等于时转移.JC 有进位时转移.JNC 无进位时转移.JNO 不溢出时转移.JNP/JPO 奇偶性为奇数时转移.JNS 符号位为"0" 时转移.JO 溢出转移.JP/JPE 奇偶性为偶数时转移.JS 符号位为"1" 时转移.3>循环控制指令(短转移)LOOP CX不为零时循环.LOOPE/LOOPZ CX不为零且标志Z=1时循环.LOOPNE/LOOPNZ CX不为零且标志Z=0时循环.JCXZ CX为零时转移.JECXZ ECX为零时转移.4>中断指令INT 中断指令INTO 溢出中断IRET 中断返回5>处理器控制指令HLT 处理器暂停, 直到出现中断或复位信号才继续.WAIT 当芯片引线TEST为高电平时使CPU进入等待状态.ESC 转换到外处理器.LOCK 封锁总线.NOP 空操作.STC 置进位标志位.CLC 清进位标志位.CMC 进位标志取反.STD 置方向标志位.CLD 清方向标志位.STI 置中断允许位.CLI 清中断允许位.六、伪指令DW 定义字(2字节).PROC 定义过程.ENDP 过程结束.SEGMENT 定义段.ASSUME 建立段寄存器寻址.ENDS 段结束.END 程序结束.七、处理机控制指令:标志处理指令CLC(进位位置0指令)CMC(进位位求反指令)STC(进位位置为1指令)CLD(方向标志置1指令)STD(方向标志位置1指令)CLI(中断标志置0指令)STI(中断标志置1指令)NOP(无操作)HLT(停机)WAIT(等待)ESC(换码)LOCK(封锁)。

微机原理指令整理

微机原理指令整理

类别指令类型指令名称指令缩写指令功能影响标志格式格式含义源操作数目的操作数传送指令通用传输指令基本传输指令MOV将源操作数中的数据传送至目的操作数,以实现寄存器与寄存器、寄存器与存储器之间数据传送以及立即数送往寄存器或存储器无1.MOV WORD PTR [2000],AX将AX送2000和2001单元(低位在低地址,高位在高地址,下同)至少有一个是寄存器(除立即数送存储器外);不能在两个存储单元之间直接传送数据;不能在两个段寄存器之间直接传送数据;不能将立即数直接送至段寄存器;SS和SP赋值必须紧邻指令指针IP既不作目的操作数也不做源操作数2.MOV AX,ES:[BX+SI+50]将ES段(BX+SI+50)字单元内容送AX3.MOV SS,BX 将BX内容送SS4.MOV ES,SS:[DI+200]将SS段(DI+200)字单元内容送ES5.MOV BX,CX 将CS内容送BX6.MOV WORD PTR[BX+DI],SS将SS内容送(BX+DI)字单元CS不能作目的操作数;立即数不能作目的操作数7.MOV CL,DH 将DH内容送CL8.MOV DI,[SI+100]将(SI+100)字单元内容送DI9.MOV WORD PTR [DI],DX将DX内容送(DI)字单元10.MOV CX,3330 立即数3330送微机原理指令整理 1微机原理指令整理2CX11.MOV BYTE PTR [DI],0立即数0送(DI)字节单元 堆栈操作指令PUSH将来自通用寄存器、段寄存器或存储单元的一个字(16位)内容压入堆栈(SP 指向的栈顶个单元)无1.PUSH AX AX 内容进栈 通用寄存器、段寄存器、存储单元的一个字CS 不能作目的操作数; 2.PUSH SISI 内容进栈 3.PUSH ESES 内容进栈 4.PUSH CSCS 内容进栈 5.PUSH WORD PTR [BX](BX)和(BX+1)单元内容进栈6.PUSH WORD PTR BETA [BX] (BX+BETA)字单元内容进栈 不能使用8位源或目的操作数 POP将栈顶个单元的内容退出(弹出)到通用寄存器、段寄存器或存储单元无1.POP BX栈顶2个字节出栈到BX 不能使用8位源或目的操作数 2.POP DX 栈顶2个字节出栈到DX 通用寄存器、段寄存器、存储单元的一个字节;CS 不能作目的操作数3.POP ES栈顶2个字节出栈到ES 4.POP SS栈顶2个字节出栈到SS 5.POP [BX+50]栈顶2个字节出栈到(BX+50)字单元6.POP [BP+DI]栈顶2个字节出栈到(BP+DI )字单元交换指令XCHG 实现数据宽度相同的源操作数与目的操作数之间的数据交换,亦即同为8位或16位的累加器与寄存器、寄存器与寄存器以及寄存器与存储单元之间的数据交换无1.XCHG AL,BLAL与BL之间字节交换段寄存器、CS、IP、立即数不能作为源或目的操作数;两个存储单元之间、段寄存器与段寄存器之间不能进行交换2.XCHG CX,AXCX与AX之间字交换3.XCHG DH,CLDH与CL之间字节交换4.XCHG BX,CXBX与CX之间字交换5.XCHG BL,[1000]BL与1000单元内容字节交换6.XCHG WORD PTR [DI],DX(DI)字单元内容与DX字交换专用累加器传送指令换码指令XLAT专门使用累加器AL并将其中的值(比如按二进制、十进制或十六进制等编码)变换成内存某一表格区内对应的另一种编码(比如发光二极管LED的字形码或其他通讯码等)无MOV BX,TABLE_SEGCODEXLAT设置SEGCODE表首址对表进行检索有操作码,无操作数。

微机原理指令表

微机原理指令表

基本传送指令MOV reg/mem, imm MOV reg/mem/seg, regMOV reg/seg, mem MOV reg/mem, seg入栈指令PUSH MEM/REG PUSH SEG出栈指令POP MEM/REG POP SEG交换指令:XCHG REG,MEM/REG查表指令:XLAT SRC_Table;(AL)←((BX)+(AL))端口输入指令IN AL,n IN AX,nIN AL,DX IN AX,DX端口输出指令OUT n,AL OUT n,AXOUT DX,AL OUT DX,AX取有效地址指令:LEA REG,MEM地址指针装入DS:LDS REG,MEM地址指针装入ES:LES REG,MEM标志装入AH指令:LAHF设置标志指令:SAHF标志入堆栈指令:PUSHF标志出堆栈指令:POPF不带进(借)位的加减法指令:ADD 目标,源;SUB 目标,源;带进(借)位的加减法指令:ADC 目标,源SBB 目标,源加法调整指令:非压缩BCD码-----AAA压缩BCD码-----DAA减法调整指令:非压缩BCD码-----AAS压缩BCD码-----DAS加1/减1指令INC/DEC 目标求补指令:NEG 目标比较指令:CMP 目标,源CWB:将AL的符号位扩展到AH中;CWD:将AX的符号位扩展到DX中;非指令:NOT 目标与指令:AND 目标,源或指令:OR 目标,源异或指令:XOR 目标,源逻辑测试指令:TEST 目标,源逻辑左移指令:SHL reg/mem,1/CL逻辑右移指令:SHR reg/mem,1/CL算术左移指令:SAL reg/mem,1/CL算术右移指令:SAR reg/mem,1/CL小循环左移:ROL REG/MEM,CNT小循环右移:ROR REG/MEM,CNT大循环左移:RCL REG/MEM,CNT大循环右移:RCR REG/MEM,CNT字符串传送指令MOVSB;[DS:SI] →[ES:DI],并修改指针SI=SI+1,DI=DI+1 (DF=0);SI=SI-1,DI=DI-1 (DF=1)MOVSW;[DS:SI] →[ES:DI],修改指针同上字符串比较指令CMPSB;[ES:DI]-[DS:SI] →FLAGS CMPSW;[ES:DI]-[DS:SI]→FLAGS,修改指针同上字符串搜索SCASB;AL—[ES:DI] →FLAGSSCASW;AX—[ES:DI] →FLAGS,修改指针同上字符串装入LODSB;[DS:SI] →ALLODSW;[DS:SI] →AX,修改指针同上字符串转储STOSB;[ES:DI] ←ALSTOSW;[ES:DI]←A X,修改指针同上重复前缀指令REP 重复执行其后的字符串指令,直到CX=0 REPE/ERPZ 当相等/为零时重复执行其后的字符串指令REPNE/REPNZ 当不相等/不为零时重复执行其后的字符串指令无条件转移指令:JMP XUL无符号数比较后根据其比较结果形成的条件转移指令JA/JNBE; 若目的操作数>源操作数则转移JAE/JNB; 若目的操作数≥源操作数则转移JB/JNAE; 若目的操作数< 源操作数则转移JBE/JNA; 若目的操作数≤源操作数则转移两个带符号数比较后根据其比较结果形成条件转移指令JG/JNLE; 若目的操作数>源操作数则转移JGE/JNL; 若目的操作数≥源操作数则转移JL/JNGE; 若目的操作数< 源操作数则转移JLE/JNG; 若目的操作数≤源操作数则转移根据CF、ZF、SF、OF、PF的状态形成的条件转移指令JE/JZ; ZF=1,结果为零时,转移JNE/JNZ;ZF=0,结果不为零时,转移JC;CF=1,有借(进)位,转移JNC;CF=0,无借(进)位,转移JO;OF=1,有溢出(带符号数)转移JNO;OF=0,无溢出(带符号数)转移JP/JPE;PF=1,结果为偶数个1转移JNP/JPO;PF=0,结果为奇数个1转移JS;SF=1,最高位为1转移JNS;SF=0,最高位为0转移循环指令LOOP;CX—1 →CX,若C X≠0循环LOOPZ/LOOPE;CX—1 →CX,若C X≠0且ZF=1循环LOOPNZ/LOOPNE;CX—1 →CX,若C X≠0且ZF=0循环JCXZ;若C X=0转移中断返回指令:IRET;进位标志清零指令:CLC进位标志置1指令:STC。

《微机原理与接口技术》指令集合

《微机原理与接口技术》指令集合

1:通用数据传送MOV dest, src1不改FR 2 CS IP非目的3段非段4立非段5内非内 6 立非目7位一致2:进栈PUSH OPRD3:出栈POP OPRD4:标志进栈PUSHF5:标志出栈POPF6:交换XCHG dest, src7:有效地址传送LEA dest, src8:全地址指针传送(数据)LDS dest, src9:全地址指针传送(附加)LES dest, src10:查表XLAT11:直接输入IN AL/AX, PORT12:间接输入IN AL/AX, PORT13:直接输出OUT AL/AX, PORT14:间接输出OUT AL/AX, PORT15:基本加法ADD dest, scr16:带进位加法ADC dest, scr17:自动加1 INC dest18:基本减法SUB dest, scr19:带借位减法SBB dest, scr20:自动减一DEC dest21:比较CMP dest, scr22:取负NEG dest23:非组合BCD码加法调整AAA24:组合BCD码加法调整DAA25:非组合BCD码减法调整AAS26:组合BCD码减法调整DAS27:无符号乘法MUL dest28:有符号乘法IMUL dest29:无符号除法DIV dest30:有符号除法IDIV dest31:字节数据符号扩展CWB32:字数据符号扩展CWD33:非组合BCD码乘法调整AAM34:非组合BCD码除法调整AAD35:逻辑非NOT dest36:逻辑与AND dest37:测试TEST dest, src38:逻辑或OR dest, scr39:逻辑异或XOR dest, scr40:逻辑移位SHL dest, 1/CL41:逻辑右移SHR dest, 1/CL42:算术左移SAL dest, 1/CL43:算术右移SAR dest, 1/CL44:循环左移ROL dest, 1/CL45:循环右移ROR dest, 1/CL46:带进位循环左移RCL dest, 1/CL47:带进位循环右移RCR dest, 1/CL48:串传送MOVSB/SW49:串重复操作前缀REP REP MOVSB/MOVSW50:数据串比较CMPSB/CMPSW51:串重复操作前缀REPZ/REPE CMPSB/CMPSW52:串重复操作前缀REPNZ/REPNE CMPSB/CMPSW53:读数据串LODSB/LODSW54:写数据串STOSB/STOSW55:数据串检索SCASB/SCASW56:无条件段内直接转移JMP LABLE57:无条件段内间接转移JMP dest58:无条件段间直接转移JMP LAB59:无条件段间间接转移JMP dest60:段内直接过程调用CALL 子过程名61:段内间接过程调用CALL dest62:段间直接调用CALL 子过程名63:段间间接调用CALL dest64:过程返回RET65:带立即数返回RET n66:判断单一标志位置转移Jx rel67:判断单一标志位复位JNx rel68:LOOP指令LOOP 语句标号69:LOOPE/LOOPZ指令LOOPE/LOOPZ 语句标号70:LOOPNE/LOOPN指令LOOPNE/LOOPNZ 语句标号71:JCXZ JCXZ 语句标号72:标志位操作表73:处理器暂停HLT74:处理器交权ESC75:等待WAIT76:总线封锁LOCK77:空操作NOP78:段定义伪指令段名SEGMENT <定义类型><组合类型><类别>…段体…段名ENDS79:段寻址伪指令ASSUME 段寄存器名:段名<,…段寄存器名:段名>80:过程定义伪指令过程名PROC<类型>…过程体语句…RET过程名ENDP81:汇编结束伪指令END 地址表达式82:字节定义语句变量名DB 操作数[ … , 操作数] 83:字定义语句变量名DW 操作数[ … , 操作数] 84:等值伪指令符号EQU 表达式85:等号伪指令符号= 表达式86:类型定义语句名字LABEL 类型87:定位伪指令ORG 常用表达式88:地址计数器$89:宏定义语句宏名MACRO…(语句段)…ENDM90:带参数的宏定义语句宏名MACRO 参数1[ , 参数2,…]…(语句段)…ENDM91:宏标号定义语句LOCAL 标号[, 标号2, …]。

微机原理汇编常用指令

微机原理汇编常用指令

1) ADD 加法指令汇编格式:ADD 目的操作数,源操作数执行的操作:(目的操作数)←源操作数+目的操作数2) ADC 带进位加法指令汇编格式:ADC 目的操作数,源操作数执行的操作:(目的操作数)←源操作数+目的操作数+CF3) INC 增量指令汇编格式:INC 操作数执行的操作:(操作数)←操作数+1PS:以上三条指令都可作字或字节运算,除INC指令不影响CF标志位外,其他标志位都受指令操作结果的影响。

4) SUB 减法指令汇编格式:SUB 目的操作数,源操作数执行的操作:(目的操作数)←目的操作数-源操作数5) SBB 带借位减法指令汇编格式:SBB 目的操作数,源操作数执行的操作:(目的操作数)←目的操作数-源操作数-CF6) DEC 减量指令汇编格式:DEC 操作数执行的操作:(操作数)←操作数-17) NEG 求补指令汇编格式:NEG 操作数执行的操作:(操作数)←0-操作数8) CMP比较指令汇编格式:CMP 目的操作数,源操作数执行的操作:目的操作数-源操作数。

PS:以上五条指令都可作字或字节运算。

另外,除DEC指令不影响CF标志位外,其他指令都对标志位有影响。

9) MUL 无符号数乘法指令汇编格式:MUL 源操作数执行的操作:假设为字节操作(AX)←(AL)×源操作数假设为字操作(DX), (AX)←(AX)×源操作数10) IMUL 有符号数乘法指令汇编格式:IMUL 源操作数执行的操作:与MUL一样,只是处理的数据是有符号数,而MUL处理的数据是无符号数。

11) DIV 无符号数除法指令汇编格式:DIV 源操作数执行的操作:假设为字节操作:(AL)←(AX)/源操作数的商(AH)←(AX)/源操作数的余数假设为字操作:(AX)←(DX、AX)/源操作数的商(DX)←(DX、AX)/源操作数的余数商和余数均为无符号数。

12) IDIV 有符号数除法指令汇编格式:IDIV 源操作数执行的操作:与DIV一样,只是操作数是有符号数,商和余数均为有符号数,余数符号同被除数符号。

微机原理指令总结

微机原理指令总结

1.内部数据传送指令:(1)以累加器A为目的操作数的指令功能:将源操作数指定的内容送入累加器A。

MOV A , Rn ; A ←(Rn)MOV A , direct ; A ←(direct)MOV A , @Ri ; A ←((Ri))MOV A , # data ; A ← data(2)以Rn为目的操作数的指令功能:将源操作数所指定的内容送入当前工作寄存器R0 ~R7中。

MOV Rn , A ; Rn ← (A)MOV Rn , direct ; Rn ←(direct)MOV Rn , # data ; Rn ← data(3)以直接地址为目的操作数的指令功能:将源操作数所指定的内容送入由直接地址指出的片内RAM单元。

MOV direct , A ; (direct)← (A)MOV direct , Rn ; (direct) ← (Rn)MOV direct , direct ; (direct) ← (direct)MOV direct , @Ri ; (direct) ←((Ri))MOV direct , # data ; (direct) ← data4)以间接地址为目的操作数的指令功能:将源操作数所指定的内容送入R0/R1所指向片内RAM的存储单元中。

MOV @Ri , A ; (Ri) ← (A)MOV @Ri , direct ; (Ri) ← (direct)MOV @Ri , # data ; (Ri) ← data(5)16位数据传送指令唯一的一条16位立即数传送指令。

功能:将16位二进制的立即数送入数据指针DPTR中。

其中高8位送入DPH,低8位送入DPL。

MOV DPTR , # data162.外部数据传送指令MOVX A,@RiMOVX A,@DPTRMOVX @Ri,AMOVX @DPTR,A3.堆栈操作指令压栈指令:将direct中的内容送入堆栈中PUSH direct ;SP←(SP)+1,(SP)←(direct)出栈指令:将堆栈中的内容送回到direct中POP direct ; (direct) ← (SP), SP←(SP)-14.查表指令MOVC A,@A+DPTR;A←((A)+(DPTR))MOVC A,@A+PC ;PC ← (PC)+1, A←((A)+(PC))5.交换指令XCH A,Rn ;(A)←→(Rn)XCH A,direct ;(A)←→(direct)XCH A,@Ri ;(A)←→((Ri))XCHD A,@Ri ;(A0~3)←→((Ri)0~3)SWAP A ;(A0~3)←→(A4~7)6.逻辑操作类指令:逻辑“与”指令ANL逻辑“或”指令ORL逻辑“异或”指令XRL累加器A的清零和取反CLR CPL7.控制转移类指令长转移指令LJMP 标号绝对转移指令AJMP 标号短(相对)转移指令SJMP 标号间接转移指令JMP @A+DPTR8.累加器A的移位指令循环左移RL A ;循环右移RR A ;带进位位循环左移RLC A ;带进位位循环右移RRC A9.条件转移指令累加器判零转移指令JZ 标号JNZ 标号比较不等转移指令CJNE A, #data, 标号CJNE A, direct, 标号CJNE Rn, #data,标号CJNE @Ri, #data,标号减1不为零(循环)转移指令DJNZ Rn,标号DJNZ direct, 标号。

微机原理指令总结

微机原理指令总结

1.内部数据传送指令:(1)以累加器A为目的操作数的指令功能:将源操作数指定的内容送入累加器A。

MOV A , Rn ; A ←(Rn)MOV A , direct ; A ←(direct)MOV A , @Ri ; A ←((Ri))MOV A , # data ; A ← data(2)以Rn为目的操作数的指令功能:将源操作数所指定的内容送入当前工作寄存器R0 ~R7中。

MOV Rn , A ; Rn ← (A)MOV Rn , direct ; Rn ←(direct)MOV Rn , # data ; Rn ← data(3)以直接地址为目的操作数的指令功能:将源操作数所指定的内容送入由直接地址指出的片内RAM单元。

MOV direct , A ; (direct)← (A)MOV direct , Rn ; (direct) ← (Rn)MOV direct , direct ; (direct) ← (direct)MOV direct , @Ri ; (direct) ←((Ri))MOV direct , # data ; (direct) ← data4)以间接地址为目的操作数的指令功能:将源操作数所指定的内容送入R0/R1所指向片内RAM的存储单元中。

MOV @Ri , A ; (Ri) ← (A)MOV @Ri , direct ; (Ri) ← (direct)MOV @Ri , # data ; (Ri) ← data(5)16位数据传送指令唯一的一条16位立即数传送指令。

功能:将16位二进制的立即数送入数据指针DPTR中。

其中高8位送入DPH,低8位送入DPL。

MOV DPTR , # data162.外部数据传送指令MOVX A,@RiMOVX A,@DPTRMOVX @Ri,AMOVX @DPTR,A3.堆栈操作指令压栈指令:将direct中的内容送入堆栈中PUSH direct ;SP←(SP)+1,(SP)←(direct)出栈指令:将堆栈中的内容送回到direct中POP direct ; (direct) ← (SP), SP←(SP)-14.查表指令MOVC A,@A+DPTR;A←((A)+(DPTR))MOVC A,@A+PC ;PC ← (PC)+1, A←((A)+(PC))5.交换指令XCH A,Rn ;(A)←→(Rn)XCH A,direct ;(A)←→(direct)XCH A,@Ri ;(A)←→((Ri))XCHD A,@Ri ;(A0~3)←→((Ri)0~3)SWAP A ;(A0~3)←→(A4~7)6.逻辑操作类指令:逻辑“与”指令ANL逻辑“或”指令ORL逻辑“异或”指令XRL累加器A的清零和取反CLR CPL7.控制转移类指令长转移指令LJMP 标号绝对转移指令AJMP 标号短(相对)转移指令SJMP 标号间接转移指令JMP @A+DPTR8.累加器A的移位指令循环左移RL A ;循环右移RR A ;带进位位循环左移RLC A ;带进位位循环右移RRC A9.条件转移指令累加器判零转移指令JZ 标号JNZ 标号比较不等转移指令CJNE A, #data, 标号CJNE A, direct, 标号CJNE Rn, #data,标号CJNE @Ri, #data,标号减1不为零(循环)转移指令DJNZ Rn,标号DJNZ direct, 标号。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

地址总线:AB(单向输出)数据总线:DB(双向总线)控制总线:CB(输出输入或双向)4个16位数据寄存器:AX累加器.BX基址寄存器.CX计数寄存器.DX数据寄存器高八位记作:AH.BH.CH.DH低八位ALBLCLDL指针寄存器:SP 堆栈指针寄存器BP基址指针寄存器变址寄存器:SI 源变址寄存器(源操作数偏移地址)DI 目的变址寄存器进位标志位:CF最高位奇偶标志位:PF低8位1的个数为偶时为1 辅助进位标志位:AF低4位向高4为有进位时零标志位:ZF算术逻辑运算为零时为1符号标志位:SF运算结果最高位为1时为1溢出标志位:OF结果超出有符号数补码表示的范围时为1跟踪标志位:TF单步中断方式逐条检查方向标志位:DF中断允许标志位:IF为1时CPU可以响应可屏蔽中断(INTR)请求立即数寻址:MOV BL,5BH寄存器寻址:MOV DS,AX存储器寻址:直接寻址:MOV AX,[2000H]寄存器间接寻址:MOV AX,[BP]操作数有效地址在BX,BP,SI,DI,当在BX ,SI,DI中默认DS为基址,在BP中默认SS为基址寄存器相对寻址:MOV AX,COUNT[SI] 例:MOV BP:[DI+45H]基址加变址寻址:MOV AX, [SI+BP]相对基址加变址寻址指令MOV AX, [SI+BP+1234H]指令数据传送指令MOV dst,src交换指令:XCHG dst,src查表指令:XLA T[表首址]DS:(BX+AL)给AL堆栈传送指令:PUSH src取偏移地址指令;LEA dst,src指针送寄存器和DS:LDS dst,src指针送寄存器和ES:LES dst,src标志传送指令:LAHF SAHF PUSHF POPF输入、输出指令:IN.OUT加法指令:ADD dst,src带进位加法指令:ADC dst,src (CF也要加)加1指令:INC dst减法指令:SUB dst,src带借位减法指令:SBB dst,src(也要减CF)减1指令:DEC src111 求补指令:NEG src (0减src)比较指令:CMP dst,src(相减但不送回目的操作数,结果都不变)乘法指令:MUL src 字节操作数:AL*src给AX 字操作数:AX*src给AX带符号数乘法指令:IMUL src 字运算AX字节运算AL 除法指令:DIV src 字节将AX/src给AL余数该AH 字将(DX,AX)/src给AX 余数给DX带符号数除法指令:IDIV srcCBW 将字节转换为字CWD将字转换为字节逻辑运算:逻辑与:AND dst,src逻辑或:OR dst,src非:NOT dst异或:XOR dst,src测试:TEST dst,src(测试判断某些位知否同时为0) 移位指令算术左移指令SAL dst, CL;移位位数逻辑左移指令SHL dst ,CL;移位位数算术右移指令:SAR dst ,CL;移位位数逻辑右移指令:SHR dst,CL ;移位位数循环移位指令:循环左移指令:ROL dst,CL;移位位数循环右移指令:ROR dst,CL;移位位数带进位循环左移:RCL dst,CL;移位位数带进位循环右移:RCR dst,CL;移位位数串操作指令:串传送指令:MOVS/W串比较指令:CMPSB/W串搜索指令:SCASB/W取串指令:LODS/W存串指令:STOSB/W重复前缀指令:REP SOPR 重复执行REP指令后紧跟着的一个串操作指令,知直到CX寄存器中的值为0 REPE/REPZ执行REPE/REPZ后紧跟的一个串操作指令,当相等、为0时重复,直到CX=0/ZF=0 REPNE/REPNZ 执行REPNE/REPNZ后紧跟的串操作指令当不为0、不相等时重复,直到CX=0/ZF=0转移指令:远程转移:JMP FAR PTR OPRD(IP=IP+16位移量)近程转移:JMP NEAR PTR OPRD (IP=IP+8位移量)段内间接转移:JMP reg16JMP men16(IP)←reg16或men16段间间接转移:JMP DWORD PTR [BX+SI]调用和返回指令:段内直接调用:CALL dst(SP=SP-2,SP+1,IP指向SP,IP=IP+16段内直接调用:CALL dst (同,同,EA指向IP)段间直接调用:CALL dst(SP=SP-2,SP+1,CS指向SP,SP=SP-2,SP+1,IP指向SP,偏移地址指向IP,段地址指向CS)段间间接调用:CALL dst 段内返回:RET(IP=SP+1,SP,SP=SP+2)段内带立即数返回:RET n循环控制指令:LOOP OPRD(CX=CX-1,若CX≠0则循环LOOPNZ/LOOPE OPRD(CX=CX-1,若CX≠0ZF=0则循环)LOOPZ/LOOPE OPRD 地址总线:AB(单向输出)数据总线:DB(双向总线)控制总线:CB(输出输入或双向)4个16位数据寄存器:AX累加器.BX基址寄存器.CX计数寄存器.DX数据寄存器高八位记作:AH.BH.CH.DH低八位ALBLCLDL指针寄存器:SP 堆栈指针寄存器BP基址指针寄存器变址寄存器:SI 源变址寄存器(源操作数偏移地址)DI目的变址寄存器进位标志位:CF最高位奇偶标志位:PF低8位1的个数为偶时为1 辅助进位标志位:AF低4位向高4为有进位时零标志位:ZF算术逻辑运算为零时为1符号标志位:SF运算结果最高位为1时为1溢出标志位:OF结果超出有符号数补码表示的范围时为1跟踪标志位:TF单步中断方式逐条检查方向标志位:DF中断允许标志位:IF为1时CPU可以响应可屏蔽中断(INTR)请求立即数寻址:MOV BL,5BH寄存器寻址:MOV DS,AX存储器寻址:直接寻址:MOV AX,[2000H]寄存器间接寻址:MOV AX,[BP]操作数有效地址在BX,BP,SI,DI,当在BX ,SI,DI中默认DS为基址,在BP中默认SS为基址寄存器相对寻址:MOV AX,COUNT[SI] 例:MOV BP:[DI+45H]基址加变址寻址:MOV AX, [SI+BP]相对基址加变址寻址指令MOV AX, [SI+BP+1234H]指令数据传送指令MOV dst,src交换指令:XCHG dst,src查表指令:XLA T[表首址]DS:(BX+AL)给AL堆栈传送指令:PUSH src取偏移地址指令;LEA dst,src指针送寄存器和DS:LDS dst,src指针送寄存器和ES:LES dst,src标志传送指令:LAHF SAHF PUSHF POPF输入、输出指令:IN.OUT加法指令:ADD dst,src带进位加法指令:ADC dst,src (CF也要加)加1指令:INC dst减法指令:SUB dst,src带借位减法指令:SBB dst,src(也要减CF)减1指令:DEC src111 求补指令:NEG src (0减src)比较指令:CMP dst,src(相减但不送回目的操作数,结果都不变)乘法指令:MUL src 字节操作数:AL*src给AX 字操作数:AX*src给AX带符号数乘法指令:IMUL src 字运算AX字节运算AL除法指令:DIV src 字节将AX/src给AL余数该AH 字将(DX,AX)/src给AX 余数给DX带符号数除法指令:IDIV srcCBW 将字节转换为字CWD将字转换为字节逻辑运算:逻辑与:AND dst,src逻辑或:OR dst,src非:NOT dst异或:XOR dst,src测试:TEST dst,src(测试判断某些位知否同时为0)移位指令算术左移指令SAL dst, CL;移位位数逻辑左移指令SHL dst ,CL;移位位数算术右移指令:SAR dst ,CL;移位位数逻辑右移指令:SHR dst,CL ;移位位数循环移位指令:循环左移指令:ROL dst,CL;移位位数循环右移指令:ROR dst,CL;移位位数带进位循环左移:RCL dst,CL;移位位数带进位循环右移:RCR dst,CL;移位位数串操作指令:串传送指令:MOVS/W串比较指令:CMPSB/W串搜索指令:SCASB/W取串指令:LODS/W存串指令:STOSB/W重复前缀指令:REP SOPR 重复执行REP指令后紧跟着的一个串操作指令,知直到CX寄存器中的值为0 REPE/REPZ执行REPE/REPZ后紧跟的一个串操作指令,当相等、为0时重复,直到CX=0/ZF=0REPNE/REPNZ 执行REPNE/REPNZ后紧跟的串操作指令当不为0、不相等时重复,直到CX=0/ZF=0转移指令:远程转移:JMP FAR PTR OPRD(IP=IP+16位移量)近程转移:JMP NEAR PTR OPRD (IP=IP+8位移量)段内间接转移:JMP reg16JMP men16(IP)←reg16或men16段间间接转移:JMP DWORD PTR [BX+SI]调用和返回指令:段内直接调用:CALL dst(SP=SP-2,SP+1,IP指向SP,IP=IP+16段内直接调用:CALL dst (同,同,EA指向IP)段间直接调用:CALL dst(SP=SP-2,SP+1,CS指向SP,SP=SP-2,SP+1,IP指向SP,偏移地址指向IP,段地址指向CS)段间间接调用:CALL dst 段内返回:RET(IP=SP+1,SP,SP=SP+2)段内带立即数返回:RET n循环控制指令:LOOP OPRD(CX=CX-1,若CX≠0则循环LOOPNZ/LOOPE OPRD(CX=CX-1,若CX≠0ZF=0则循环)LOOPZ/LOOPE OPRD地址总线:AB(单向输出)数据总线:DB(双向总线)控制总线:CB(输出输入或双向)4个16位数据寄存器:AX累加器.BX基址寄存器.CX计数寄存器.DX数据寄存器高八位记作:AH.BH.CH.DH低八位ALBLCLDL指针寄存器:SP 堆栈指针寄存器BP基址指针寄存器变址寄存器:SI 源变址寄存器(源操作数偏移地址)DI目的变址寄存器进位标志位:CF最高位奇偶标志位:PF低8位1的个数为偶时为1 辅助进位标志位:AF低4位向高4为有进位时零标志位:ZF算术逻辑运算为零时为1符号标志位:SF运算结果最高位为1时为1溢出标志位:OF结果超出有符号数补码表示的范围时为1跟踪标志位:TF单步中断方式逐条检查方向标志位:DF中断允许标志位:IF为1时CPU可以响应可屏蔽中断(INTR)请求立即数寻址:MOV BL,5BH寄存器寻址:MOV DS,AX存储器寻址:直接寻址:MOV AX,[2000H]寄存器间接寻址:MOV AX,[BP]操作数有效地址在BX,BP,SI,DI,当在BX ,SI,DI中默认DS为基址,在BP中默认SS为基址寄存器相对寻址:MOV AX,COUNT[SI] 例:MOV BP:[DI+45H]基址加变址寻址:MOV AX, [SI+BP]相对基址加变址寻址指令MOV AX, [SI+BP+1234H]指令数据传送指令MOV dst,src交换指令:XCHG dst,src查表指令:XLA T[表首址]DS:(BX+AL)给AL堆栈传送指令:PUSH src取偏移地址指令;LEA dst,src指针送寄存器和DS:LDS dst,src指针送寄存器和ES:LES dst,src标志传送指令:LAHF SAHF PUSHF POPF输入、输出指令:IN.OUT加法指令:ADD dst,src带进位加法指令:ADC dst,src (CF也要加)加1指令:INC dst减法指令:SUB dst,src带借位减法指令:SBB dst,src(也要减CF)减1指令:DEC src111 求补指令:NEG src (0减src)比较指令:CMP dst,src(相减但不送回目的操作数,结果都不变)乘法指令:MUL src 字节操作数:AL*src给AX 字操作数:AX*src给AX带符号数乘法指令:IMUL src 字运算AX字节运算AL除法指令:DIV src 字节将AX/src给AL余数该AH 字将(DX,AX)/src给AX 余数给DX带符号数除法指令:IDIV srcCBW 将字节转换为字CWD将字转换为字节逻辑运算:逻辑与:AND dst,src逻辑或:OR dst,src非:NOT dst异或:XOR dst,src测试:TEST dst,src(测试判断某些位知否同时为0)移位指令算术左移指令SAL dst, CL;移位位数逻辑左移指令SHL dst ,CL;移位位数算术右移指令:SAR dst ,CL;移位位数逻辑右移指令:SHR dst,CL ;移位位数循环移位指令:循环左移指令:ROL dst,CL;移位位数循环右移指令:ROR dst,CL;移位位数带进位循环左移:RCL dst,CL;移位位数带进位循环右移:RCR dst,CL;移位位数串操作指令:串传送指令:MOVS/W串比较指令:CMPSB/W串搜索指令:SCASB/W取串指令:LODS/W存串指令:STOSB/W重复前缀指令:REP SOPR 重复执行REP指令后紧跟着的一个串操作指令,知直到CX寄存器中的值为0 REPE/REPZ执行REPE/REPZ后紧跟的一个串操作指令,当相等、为0时重复,直到CX=0/ZF=0REPNE/REPNZ 执行REPNE/REPNZ后紧跟的串操作指令当不为0、不相等时重复,直到CX=0/ZF=0转移指令:远程转移:JMP FAR PTR OPRD(IP=IP+16位移量)近程转移:JMP NEAR PTR OPRD (IP=IP+8位移量)段内间接转移:JMP reg16JMP men16(IP)←reg16或men16段间间接转移:JMP DWORD PTR [BX+SI]调用和返回指令:段内直接调用:CALL dst(SP=SP-2,SP+1,IP指向SP,IP=IP+16段内直接调用:CALL dst (同,同,EA指向IP)段间直接调用:CALL dst(SP=SP-2,SP+1,CS指向SP,SP=SP-2,SP+1,IP指向SP,偏移地址指向IP,段地址指向CS)段间间接调用:CALL dst 段内返回:RET(IP=SP+1,SP,SP=SP+2)段内带立即数返回:RET n循环控制指令:LOOP OPRD(CX=CX-1,若CX≠0则循环LOOPNZ/LOOPE OPRD(CX=CX-1,若CX≠0ZF=0则循环)LOOPZ/LOOPE OPRD地址总线:AB(单向输出)数据总线:DB(双向总线)控制总线:CB(输出输入或双向)4个16位数据寄存器:AX累加器.BX基址寄存器.CX计数寄存器.DX数据寄存器高八位记作:AH.BH.CH.DH低八位ALBLCLDL指针寄存器:SP 堆栈指针寄存器BP基址指针寄存器变址寄存器:SI 源变址寄存器(源操作数偏移地址)DI目的变址寄存器进位标志位:CF最高位奇偶标志位:PF低8位1的个数为偶时为1 辅助进位标志位:AF低4位向高4为有进位时零标志位:ZF算术逻辑运算为零时为1符号标志位:SF运算结果最高位为1时为1溢出标志位:OF结果超出有符号数补码表示的范围时为1跟踪标志位:TF单步中断方式逐条检查方向标志位:DF中断允许标志位:IF为1时CPU可以响应可屏蔽中断(INTR)请求立即数寻址:MOV BL,5BH寄存器寻址:MOV DS,AX存储器寻址:直接寻址:MOV AX,[2000H]寄存器间接寻址:MOV AX,[BP]操作数有效地址在BX,BP,SI,DI,当在BX ,SI,DI中默认DS为基址,在BP中默认SS为基址寄存器相对寻址:MOV AX,COUNT[SI] 例:MOV BP:[DI+45H]基址加变址寻址:MOV AX, [SI+BP]相对基址加变址寻址指令MOV AX, [SI+BP+1234H]指令数据传送指令MOV dst,src交换指令:XCHG dst,src查表指令:XLA T[表首址]DS:(BX+AL)给AL堆栈传送指令:PUSH src取偏移地址指令;LEA dst,src指针送寄存器和DS:LDS dst,src指针送寄存器和ES:LES dst,src标志传送指令:LAHF SAHF PUSHF POPF输入、输出指令:IN.OUT加法指令:ADD dst,src带进位加法指令:ADC dst,src (CF也要加)加1指令:INC dst减法指令:SUB dst,src带借位减法指令:SBB dst,src(也要减CF)减1指令:DEC src111 求补指令:NEG src (0减src)比较指令:CMP dst,src(相减但不送回目的操作数,结果都不变)乘法指令:MUL src 字节操作数:AL*src给AX 字操作数:AX*src给AX带符号数乘法指令:IMUL src 字运算AX字节运算AL除法指令:DIV src 字节将AX/src给AL余数该AH 字将(DX,AX)/src给AX 余数给DX带符号数除法指令:IDIV srcCBW 将字节转换为字CWD将字转换为字节逻辑运算:逻辑与:AND dst,src逻辑或:OR dst,src非:NOT dst异或:XOR dst,src测试:TEST dst,src(测试判断某些位知否同时为0)移位指令算术左移指令SAL dst, CL;移位位数逻辑左移指令SHL dst ,CL;移位位数算术右移指令:SAR dst ,CL;移位位数逻辑右移指令:SHR dst,CL ;移位位数循环移位指令:循环左移指令:ROL dst,CL;移位位数循环右移指令:ROR dst,CL;移位位数带进位循环左移:RCL dst,CL;移位位数带进位循环右移:RCR dst,CL;移位位数串操作指令:串传送指令:MOVS/W串比较指令:CMPSB/W串搜索指令:SCASB/W取串指令:LODS/W存串指令:STOSB/W重复前缀指令:REP SOPR 重复执行REP指令后紧跟着的一个串操作指令,知直到CX寄存器中的值为0 REPE/REPZ执行REPE/REPZ后紧跟的一个串操作指令,当相等、为0时重复,直到CX=0/ZF=0REPNE/REPNZ 执行REPNE/REPNZ后紧跟的串操作指令当不为0、不相等时重复,直到CX=0/ZF=0转移指令:远程转移:JMP FAR PTR OPRD(IP=IP+16位移量)近程转移:JMP NEAR PTR OPRD (IP=IP+8位移量)段内间接转移:JMP reg16JMP men16(IP)←reg16或men16段间间接转移:JMP DWORD PTR [BX+SI]调用和返回指令:段内直接调用:CALL dst(SP=SP-2,SP+1,IP指向SP,IP=IP+16段内直接调用:CALL dst (同,同,EA指向IP)段间直接调用:CALL dst(SP=SP-2,SP+1,CS指向SP,SP=SP-2,SP+1,IP指向SP,偏移地址指向IP,段地址指向CS)段间间接调用:CALL dst 段内返回:RET(IP=SP+1,SP,SP=SP+2)段内带立即数返回:RET n循环控制指令:LOOP OPRD(CX=CX-1,若CX≠0则循环LOOPNZ/LOOPE OPRD(CX=CX-1,若CX≠0ZF=0则循环)LOOPZ/LOOPE OPRD。

相关文档
最新文档