std在汇编语言是什么指令_汇编语言指令

汇编指令英文全称

1.通用数据传送指令

MOV----> move

MOV dest,src ;dest←src

MOV指令把一个字节或字的操作数从源地址src传送至目的地址dest。

MOVSX---->extended move with sign data

MOVZX---->extended move with zero data

PUSH---->push

POP---->pop

进栈出栈指令

PUSHA---->push all

POPA---->pop all

PUSHAD---->push all data

POPAD---->pop all data

BSWAP---->byte swap

XCHG---->exchange

交换指令用来将源操作数和目的操作数内容交换,操作数可以是字、也可以是字节,可以在通用寄存器与通用寄存器或存储器之间对换数据,但不能在存储器与存储器之间对换数据。

mov ax,1234h ;ax=1234h

mov bx,5678h ;bx=5678h

xchg ax,bx ;ax=5678h,bx=1234h

xchg ah,al ;ax=7856h

CMPXCHG---->compare and change

XADD---->exchange and add

XLAT---->translate

换码指令用于将BX指定的缓冲区中、AL指定的位移处的数据取出赋给AL。

2.输入输出端口传送指令

IN---->input

OUT---->output

3.目的地址传送指令

LEA---->load effective addres

有效地址传送指令

mov bx,0400h

mov si,3ch

lea bx,[bx+si+0f62h] ;BX=139EH

这里BX得到的是主存单元的有效地址,不是物理地址,也不是该单元的内容。

LDS---->load DS

LES---->load ES

LFS---->load FS

LGS---->load GS

LSS---->load SS

4.标志传送指令

LAHF---->load AH from flag

SAHF---->save AH to flag

PUSHF---->push flag

POPF---->pop flag

PUSHD---->push dflag

POPD---->pop dflag

二、算术运算指令

ADD---->add

加法指令 mov al,0fbh ;al=0fbh

add al,07h ;al=02h

ADC---->add with carry

INC---->increase 1

AAA---->ascii add with adjust

DAA---->decimal add with adjust

SUB---->substract

SBB---->substract with borrow

DEC---->decrease 1

NEC---->negative

CMP---->compare

AAS---->ascii adjust on substract

DAS---->decimal adjust on substract

MUL---->multiplication

IMUL---->integer multiplication

AAM---->ascii adjust on multiplication

DIV---->divide

IDIV---->integer divide

AAD---->ascii adjust on divide

CBW---->change byte to word

CWD---->change word to double word

CWDE---->change word to double word with sign to EAX

CDQ---->change double word to quadrate word

三、逻辑运算指令

AND---->and

or---->or

XOR---->xor

NOT---->not

TEST---->test

SHL---->shift left

SAL---->arithmatic shift left

SHR---->shift right

SAR---->arithmatic shift right

ROL---->rotate left

ROR---->rotate right

RCL---->rotate left with carry

RCR---->rotate right with carry

四、串指令

MOVS---->move string

CMPS---->compare string

SCAS---->scan string

LODS---->load string

STOS---->store string

REP---->repeat

REPE---->repeat when equal

REPZ---->repeat when zero flag

REPNE---->repeat when not equal

REPNZ---->repeat when zero flag

REPC---->repeat when carry flag

REPNC---->repeat when not carry flag

五、程序转移指令

1>无条件转移指令(长转移)

JMP---->jump

CALL---->call

RET---->return

RETF---->return far

2>条件转移指令(短转移,-128到+127的距离内)

JA--->jump when above

JAE---->jump when above or equal

JNB---->jump when not below

JB---->jump when below

JNAE---->jump when not above or equal

JBE---->jump when below or equal

JNA---->jump when not above

JG---->jump when greater

JNLE---->jump when not less or equal

JGE---->jump when greater or equal

JNL---->jump when not less

JL---->jump when less

JNGE---->jump when not greater or equal

J

你可能感兴趣的:(std在汇编语言是什么指令)