반응형

8086 명령어

 

 

 

 

 

ADD

Signed or Unsigned ADD

원천 오퍼랜드를 목적지 오퍼랜드에 더하고 그 결과를 목적지 오퍼랜드에 저장한다

AND

Logical AND

두 오퍼랜드에 대해 논리 AND를 수행하여 그 결과를 목적지 오퍼랜드에 저장한다

CALL

Call a Procedure

제어를 프로시져로 넘긴다. RET를 사용하여 제어를 CALL 다음의 명령어로 되돌린다

CMP

Compare Operands

길이가 같은 두 오퍼랜드를 비교한다. 원천 및 목적지 오퍼랜드는 변경되지 않는다

CMPS

Compare Byte or Word String

스트링을 한번에 한 바이트 또는 한 워드씩 비교한다

CMPSB

Compare Byte or Word String

스트링을 한번에 한 바이트 또는 한 워드씩 비교한다

CMPSW

Compare Byte or Word String

스트링을 한번에 한 바이트 또는 한 워드씩 비교한다

DEC

Decrement

목적지 오퍼랜드에서 1을 뺀다

DIV

Unsigned Division

부호없는 워드(AX)를 바이트로 나누거나 부호없는 더블워드(DX:AX)를 워드로 나눈다

IDIV

Signed Number Division

부호있는 워드(AX)를 바이트로 나누거나 부호있는 더블워드(DX:AX)를 워드로 나눈다

IMUL

Signed Number Multiplication

부호있는 바이트 또는 워드 원천 오퍼랜드를 AL 또는 AX에 있는 부호있는 바이트 또는 워드에 곱하여 그 결과를 AX 또는 DX:AX에 저장한다

INC

Increment

오퍼랜드에 의해 지정된 레지스터 또는 메모리 위치에 1을 더한다.

INT

Intettupt

실행을 256가지의 인터럽트중의 하나로 넘긴다

JUMP

Conditional Jump

어떤 조건이 만족되면 행선지 번지로 점프하도록 하는데 사용한다.

JMP

Unconditional Jump

새로운 번지로 제어를 무조건 넘기는데 사용한다. JMP CALL의 차이는, CALL 명령어는 CALL 다음의 명령어로 되돌아와 실행을 계속하는 반면 JMP는 되돌아오지 않는다

LEA

Load Effective Address

직접 메모리 오퍼랜드의 유효 번지를 목적지에 로드한다

LOCK

Lock System Bus Prefix

2개 이상의 프로세서가 있는 마이크로컴퓨터에서 한 프로세서가 명령어를 실행하고 있는 동안 다른 프로세서가 시스템 버스의 제어권을 빼앗지 못하도록 하기 위해 사용된다

LOOP

Loop until CX =0

CX 1 감소시킨 다음 CX가 아니면 오퍼랜드가 가리키는 곳으로 점프하며, 0일 경우에는 LOOP아래에 있는 다음 명령어를 실행 시킨다

MOV

Move

레지스터, 메모리 위치, 즉석 상수인 워드 또는 바이트를 레지스터 또는 메모리 위치에 복사한다.

MOVS

Move Byte or Word String

 

DS : SI가 가리키는 메모리의 위치로부터 바이트 또는 워드를 ES : DI가 가리키는 메모리 위치로 복사한다.

MOVSB

Move Byte or Word String

DS : SI가 가리키는 메모리의 위치로부터 바이트 또는 워드를 ES : DI가 가리키는 메모리 위치로 복사한다.

MOVSW

Move Byte or Word String

DS : SI가 가리키는 메모리의 위치로부터 바이트 또는 워드를 ES : DI가 가리키는 메모리 위치로 복사한다.

MUL

Unsigned Multiplication

오퍼랜드가 가리키는 부호 없는 바이트 또는 워드를 AL 또는 AX에 들어있는 바이트 또는 워드에 곱한 결과를 AX 또는 DX : AX 에 저장한다

NEG

Negate

오퍼랜드에 대해 2의 보수를 취한다

NOP

No Operation

아무 일도 수행하지 않는다

NOT

Logical NOT

오퍼랜드에 대해 1의 보수를 취한다

OR

Logical OR

두 오퍼랜드에 대해 비트끼리 논리 OR 연산을 수행하고 그 결과를 목적지 오퍼랜드에 저장한다

POP

POP Word

스택포인터가 가리키는 워드를 오퍼랜드가 가리키는 레지스터 메모리위치로 복사하고 SP 2 증가 시킨다

POPF

POP Flags off Stack

스택에 PUSH시켜 놓았던 비트를 플래그 레지스터로 복사한 다음에 SP2 증가 시킨다

PUSH

PUSH Word

스택에 원천 오퍼랜드의 워드를 복사하고 SP 2 감소시킨다

PUSHF

PUSH Flags onto Stack

SP 2 감소시킨 다음에 플래그 레지스터의 내용을 스택에 복사한다

RET

Return from a Procedure

앞서 CALL 명령어에 의해 호출되었던 피호출 프로시저로부터 호출프로시저로 복귀하는데 사용된다.

SHL

Shift Left

부호 없는 수에 사용되는 논리쉬프트로써 부호 비트도 데이터로 취급한다.

SHR

Shift Right

부호 없는 수에 사용되는 논리쉬프트로써 부호 비트도 데이터로 취급한다.

STOS

Store Byte or Word String

: AX, AL의 내용을 ES:DI가 가리키는 위치에 복사하고, DI 1또는 2 증가시킨다

STOSB

Store Byte or Word String

: AX, AL의 내용을 ES:DI가 가리키는 위치에 복사하고, DI 1또는 2 증가시킨다

STOSW

Store Byte or Word String

: AX, AL의 내용을 ES:DI가 가리키는 위치에 복사하고, DI 1또는 2 증가시킨다

SUB

Subtract

목적지 오퍼랜드로부터 원천 오퍼랜드를 빼서 그 결과를 목적지에 저장한다

TEST

Test Bits

두 오퍼랜드에 대해 논리 AND를 수행하고 플래그를 설정하지만 두 오퍼랜드의 내용은 변하지 않는다.

XCHG

Exchange

두 레지스터 또는 레지스터와 메모리 위치의 내용을 교환한다

XOR

Exclusive OR

두 오퍼랜드의 비트들에 대해 논리 XOR를 수행하여 그 결과를 목적지 오퍼랜드에 저장한다.

 

반응형

+ Recent posts