Appendix C

Commonly Used Opcodes in Assembly

TRANSFER Opcodes (Continued)

Name

Description

Syntax

TRANSFER Opcodes

Name

Description

Syntax

MOV

Move (copy)

MOV Dest,Source

XCHG

Exchange

XCHG Op1,Op2

STC

Set Carry

STC

CLC

Clear Carry

CLC

CMC

Complement Carry

CMC

STD

Set Direction

STD

CLD

Clear Direction

CLD

STI

Set Interrupt

STI

CLI

Clear Interrupt

CLI

PUSH

Push onto stack

PUSH Source

PUSHF

Push flags

PUSHF

PUSHA

Push all general registers

PUSHA

POP

Pop from stack

POP Dest

POPF

Pop flags

POPF

POPA

Pop all general registers

POPA

CBW

Convert byte to word

CBW

CWD

Convert word to double

CWD

CWDE

Convert word extended double

CWDE

IN

Input

IN Dest,Port

OUT

Output

OUT Port,Source

ARITHMETIC Opcodes

Name

Description

Syntax

ADD

Add

ADD Dest,Source

ADC

Add with carry

ADC Dest,Source

SUB

Subtract

SUB Dest,Source

SBB

Subtract with borrow

SBB Dest,Source

DIV

Divide (unsigned)

DIV Op

IDIV

Signed integer divide

IDIV Op

MUL

Multiply (unsigned)

MUL Op

IMUL

Signed integer multiply

IMUL Op

INC

Increment

INC Op

DEC

Decrement

DEC Op

CMP

Compare

CMP Op1,Op2

SAL

Shift arithmetic left

SAL Op,Quantity

SAR

Shift arithmetic right

SAR Op,Quantity

RCL

Rotate left through carry

RCL Op,Quantity

RCR

Rotate right through carry

RCR Op,Quantity

ROL

Rotate left

ROL Op,Quantity

ROR

Rotate right

ROR Op,Quantity

LOGIC Opcodes

Name

Description

Syntax

NEG

Negate (two-complement)

NEG Op

NOT

Invert each bit

NOT Op

AND

Logical and

AND Dest,Source

OR

Logical or

OR Dest,Source

XOR

Logical exclusive or

XOR Dest,Source

SHL

Shift logical left

SHL Op,Quantity

SHR

Shift logical right

SHR Op,Quantity

MISCELLANEOUS Opcodes

Name

Description

Syntax

NOP

No operation

NOP

LEA

Load effective address

LEA Dest,Source

INT

Interrupt

INT Nr

JUMPS (General) Opcodes (Continued)

Name

Description

Syntax

JUMPS (General) Opcodes

Name

Description

Syntax

CALL

Call subroutine

CALL Proc

JMP

Jump

JMP Dest

JE

Jump if equal

JE Dest

JZ

Jump if zero

JZ Dest

JCXZ

Jump if CX zero

JCXZ Dest

JP

Jump if parity (parity even)

JP Dest

JPE

Jump if parity even

JPE Dest

RET

Return from subroutine

RET

JNE

Jump if not equal

JNE Dest

JNZ

Jump if not zero

JNZ Dest

JECXZ

Jump if ECX zero

JECXZ Dest

JNP

Jump if no parity (parity odd)

JNP Dest

JPO

Jump if parity odd

JPO Dest

JUMPS Unsigned (Cardinal) Opcodes

JA

Jump if above

JA Dest

JAE

Jump if above or equal

JAE Dest

JB

Jump if below

JB Dest

JBE

Jump if below or equal

JBE Dest

JNA

Jump if not above

JNA Dest

JNAE

Jump if not above or equal

JNAE Dest

JNB

Jump if not below

JNB Dest

JNBE

Jump if not below or equal

JNBE Dest

JC

Jump if carry

JC Dest

JNC

Jump if no carry

JNC Dest

JUMPS Signed (Integer) Opcodes

JG

Jump if greater

JG Dest

JGE

Jump if greater or equal

JGE Dest

JL

Jump if less

JL Dest

JLE

Jump if less or equal

JLE Dest

JNG

Jump if not greater

JNG Dest

JNGE

Jump if not greater or equal

JNGE Dest

JNL

Jump if not less

JNL Dest

JNLE

Jump if not less or equal

JNLE Dest

JO

Jump if overflow

JO Dest

JNO

Jump if no overflow

JNO Dest

JS

Jump if sign (= negative)

JS Dest

JNS

Jump if no sign (= positive)

JNS Dest

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.149.242.175