微机原理指令汇总.docx

上传人:b****3 文档编号:6072561 上传时间:2023-05-09 格式:DOCX 页数:9 大小:17.23KB
下载 相关 举报
微机原理指令汇总.docx_第1页
第1页 / 共9页
微机原理指令汇总.docx_第2页
第2页 / 共9页
微机原理指令汇总.docx_第3页
第3页 / 共9页
微机原理指令汇总.docx_第4页
第4页 / 共9页
微机原理指令汇总.docx_第5页
第5页 / 共9页
微机原理指令汇总.docx_第6页
第6页 / 共9页
微机原理指令汇总.docx_第7页
第7页 / 共9页
微机原理指令汇总.docx_第8页
第8页 / 共9页
微机原理指令汇总.docx_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

微机原理指令汇总.docx

《微机原理指令汇总.docx》由会员分享,可在线阅读,更多相关《微机原理指令汇总.docx(9页珍藏版)》请在冰点文库上搜索。

微机原理指令汇总.docx

微机原理指令汇总

8086/8088指令系统记忆表——11月19日第三次更新来源:

张克终西秦人的日志

我现将指令系统中各种助记符的英文全名写出来,各种助记符的记忆就会变得很简单o(∩_∩)o...

在这之前,先说一下寄存器:

数据寄存器分为:

AH&AL=AX(accumulator):

累加寄存器,常用于运算;在乘除等指令中指定用来存放操作数,另外,所有的I/O指令都使用这一寄存器与外界设备传送数据.

BH&BL=BX(base):

基址寄存器,常用于地址索引;

CH&CL=CX(count):

计数寄存器,常用于计数;常用于保存计算值,如在移位指令,循环(loop)和串处理指令中用作隐含的计数器.

DH&DL=DX(data):

数据寄存器,常用于数据传递。

  他们的特点是,这4个16位的寄存器可以分为高8位:

AH,BH,CH,DH.以及低八位:

AL,BL,CL,DL。

这2组8位寄存器可以分别寻址,并单独使用。

另一组是指针寄存器和变址寄存器,包括:

SP(StackPointer):

堆栈指针,与SS配合使用,可指向目前的堆栈位置;

BP(BasePointer):

基址指针寄存器,可用作SS的一个相对基址位置;

SI(SourceIndex):

源变址寄存器可用来存放相对于DS段之源变址指针;

DI(DestinationIndex):

目的变址寄存器,可用来存放相对于ES段之目的变址指针。

指令指针IP(InstructionPointer)

标志寄存器FR(FlagRegister)

OF(overflowflag)

DF(directionflag)

CF(carrierflag)

PF(parityflag)

AF(auxiliaryflag)

ZF(zeroflag)

SF(signflag)

IF(interruptflag)

TF(trapflag)

段寄存器(SegmentRegister)

为了运用所有的内存空间,8086设定了四个段寄存器,专门用来保存段地址:

CS(CodeSegment):

代码段寄存器;

DS(DataSegment):

数据段寄存器;

SS(StackSegment):

堆栈段寄存器;

ES(ExtraSegment):

附加段寄存器。

第一部分:

指令助记符:

一、数据传送指令

1.通用数据传送指令

MOV(Move)传送

PUSH(Pushontothestack)进栈

POP(Popfromthestack)出栈

XCHG(Exchange)交换

2.累加器专用传送指令

IN(Input)输入

OUT(Output)输出

XLAT(Translate)换码

3.有效地址送寄存器指令

LEA(Loadeffectiveaddress)有效地址送寄存器

LDS(LoadDSwithPointer)指针送寄存器和DS

LES(LoadESwithPointer)指针送寄存器和ES

4.标志寄存器传送指令

LAHF(LoadAHwithflags)标志送AH

SAHF(storeAHintoflags)AH送标志寄存器

PUSHF(pushtheflags)标志进栈

POPF(poptheflags)标志出栈

二、算术指令

1.加法指令

ADD(add)加法

ADC(addwithcarry)带进位加法

INC(increment)加1

2.减法指令

SUB(subtract)减法

SBB(subtractwithborrow)带借位减法

DEC(Decrement)减1

NEG(Negate)求补

CMP(Compare)比较

3.乘法指令

MUL(UnsignedMultiple)无符号数乘法

IMUL(SignedMultiple)带符号数乘法

4.除法指令

DIV(Unsigneddivide)无符号数除法

IDIV(Signeddivide)带符号数除法

CBW(Convertbytetoword)字节转换为字

CWD(Contertwordtodoubleword)字转换为双字

三、逻辑指令

1.逻辑运算指令

AND(and)逻辑与

OR(or)逻辑或

NOT(not)逻辑非

XOR(exclusiveor)异或

TEST(test)测试

2.移位指令

SHL(shiftlogicalleft)逻辑左移

SAL(shiftarithmeticleft)算术左移

SHR(shiftlogicalright)逻辑右移

SAR(shiftarithmeticright)算术右移

ROL(Rotateleft)循环左移

ROR(Rotateright)循环右移

RCL(Rotateleftthroughcarry)带进位循环左移

RCR(Rotaterightthroughcarry)带进位循环右移

四、串处理指令

1.重复前端指令

REP(Repeat)重复串操作直到(CX)=0为上

REPE(Repeatwhenempty)若(CX)=0,则退出,否则CX=CX+1;

REPZ(Repeatwhenflag)若ZF=0,则退出,否则CX=CX+1;

REPC(Repeatwhencarryflag)

REPNE(Repeatwhennotempty)

REPNZ(Repeatwhennotzeroflag)

REPNC(Repeatwhennotcarryflag)

2.串操作指令

MOVSB(Movestringofbyte)串传送指令

MOVSW(Movestringofword)串传送指令

CMPSB(Comparestringofbyte)串比较指令

CMPSW(Comparestringofword)串比较指令

SCASB(Scanstringofbyte)串搜索指令

SCASW(Scanstringofword)串搜索指令

STOSB(Storestringofbyte)存串指令

STOSW(Storestringofword)存串指令

LODSB(Loadstringofbyte)取串指令

LODSW(Loadstringofword)取串指令

CLD(Cleardirectionflag)该指令使DF=0,在执行串操作指令时可使地址自动增量;

STD(Setdirectionflag)该指令使DF=1,在执行串操作指令时可使地址自动减量.

DAA(Decimaladjustafteraddition)组合BCD码的加法调整指令

DAS(Decimaladjustaftersubstract)组合BCD码的减法调整指令

AAA(ASCIIadjustafteraddition)非压缩BCD码加法调成指令

AAS(ASCIIadjustaftersubstract)非压缩BCD码减法调成指令

AAM(ASCIIadjustaftermultiple)非压缩BCD码乘法调成指令

AAD(ASCIIadjustafterdivid)非压缩BCD码除法调成指令

五、控制转移指令

1.无条件转移指令

JMP(jmp)跳转指令

2.条件转移指令

(1)根据单个条件标志的设置情况转移

JZ(或JE)(Jumpifzero,orequal)结果为零(或相等)则转移

JS(Jumpifsign)结果为负则转移

JNS(Jumpifnotsign)结果为正则转移

JO(Jumpifoverflow)溢出则转移

JNO(Jumpifnotoverflow)不溢出则转移

JNP(或JPO)(Jumpifnotparity,orparityodd)奇偶位为0则转移

JP(或JPE)(Jumpifparity,orparityeven)奇偶位为1则转移

JB(或JNAE,JC)(Jumpifbelow,ornotaboveorequal,orcarry)低于,或者不高于或等于,或进位位为1则转移

JNB(或JAE,JNC)(Jumpifnotbelow,oraboveorequal,ornotcarry)不低于,或者高于或者等于,或进位位为0则转移

(2)比较两个无符号数,并根据比较的结果转移

JB(或JNAE,JC)

JNB(或JAE,JNC)

JBE(或JNA)(Jumpifbeloworequal,ornotabove)低于或等于,或不高于则转移

JNBE(或JA)(Jumpifnotbeloworequal,orabove)不低于或等于,或者高于则转移

(3)比较两个带符号数,并根据比较的结果转移

JL(或LNGE)(Jumpifless,ornotgreaterorequal)小于,或者不大于或者等于则转移

JNL(或JGE)(Jumpifnotless,orgreaterorequal)不小于,或者大于或者等于则转移

JLE(或JNG)(Jumpiflessorequal,ornotgreater)小于或等于,或者不大于则转移

JNLE(或JG)(Jumpifnotlessorequal,orgreater)不小于或等于,或者大于则转移

(4)测试CX的值为0则转移指令

JCXZ(JumpifCXregisteriszero)CX寄存器

3.循环指令

LOOP(loop)循环指令

4.子程序

CALL(call)调用指令

RET(return)返回指令

5.中断

INT(interrupt)指令

IRET(interruptreturn)从中断返回指令

INTO(interruptifoverflow)若溢出则中断

六、处理机控制指令

1.标志处理指令

CLC(Clearcarry)进位位置0指令CF<-0

CMC(Complementcarry)进位位求反指令CF<-CF

STC(Setcarry)进位位置1指令CF<-1

CLD(Cleardirection)方向标志置0指令DF<-0

STD(Setdirection)方向标志置1指令DF<-1

CLI(Clearinterrupt)中断标志置0指令IF<-0

STI(Setinterrupt)中断标志置1指令IF<-0

2.其他处理机控制指令

NOP(NoOpreation)无操作

HLT(Halt)停机

WAIT(Wait)等待

ESC(Escape)换码

LOCK(Lock)封锁

第二部分:

伪指令

1.符号定义伪指令:

EQU

.2.数据定义伪指令:

DB(DefineByte):

定义字节

DW(DefineWord):

定义字

DD(DefineDouble):

定义双字

DUP(duplication):

重复;复制,复写

3.过程定义伪指令:

PROC(Process):

4.定位伪指令:

ORG(Origin):

.5.常数、变量及标号

OFFSET(Offset):

偏移量

6.表达式和运算符:

①算术运算符:

SHL(shiftlogicalleft):

逻辑左移

SHR(shiftlogicalright):

逻辑右移

②关系运算符:

EQ(Equal):

相等

NE(NotEqual):

不等于

LT(LessThan):

小于

LE(LessThanorEqual):

小于等于

GT(GreaterThan):

大于

GE(GreaterThanorEqual)

③取值运算符:

SEG(Segment)

OFFSET(Offset)

④属性运算符:

PTR(Pointer):

指针

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2