16 bit Assembly
ADC - Add with Carry
ADD - Add
AND - Bitwise AND
CALL - Call Routine
CLC - Clear Carry Flag
CLD - Clear Direction
CLI - Clear Interupt Flag
CMPS - Compare
CMP - Compare
DEC - Decrement
DIV - Divide
HLT - Halt
IDIV - Divide Signed
IMUL - Multiply Signed
INC - Increment
INS - Input
INT - Interupt
IN - Input
IRET - Interupt Return
JMP - Jump
J - Jump Conditional
LAHF - Load Flags
LDS - Load Far Pointer
LEA - Store Address
LES - Load Far Pointer
LFS - Load Far Pointer
LGS - Load Far Pointer
LODSB - LODSW - Load
LODS - Load
LOOP - Loop
LSS - Load Far Pointer
MOVSB - Move Far
MOVSW - Move Far
MOVS - Move
MOV - Move
MUL - Multiply
NEG - Negate
NOP - No Operation
NOT - Bitwise NOT
OR - Bitwise OR
OUTS - Output
OUT - Output
POP - Stack Retrieval
PUSH - Stack Store
RCL - Roll Left
RCR - Roll Right
REP - Repeat
RET - Return
ROL - Roll Left
ROR - Roll Right
SAHF - Save Flags
SAL - Shift Left
SAR - Shift Right
SBB - Subtract with Borrow
SCAS - Compare
SET - Set Condition
SHL - Shift Left
SHR - Shift Right
STC - Set Carry Flag
STD - Set Direction
STI - Set Interupt Flag
STOSB - STOSW - Store
STOS - Store
SUB - Subtract
TEST - Compare
XADD - Exchange and And
XCHG - Swap
XOR - Bitwise XOR
The JMP instruction is generally used to pass control to a routine, label or far address. Unlike CALL it does not return to the caller if a RET is reached.
The memory address of the destination is supplied in the operand.
Alternately the destination can a relative address stated as positive or negative count of bytes from the current instruction.
This command has 2 parts, Instruction, then either a Register, Immediate value, Label, Routine Name or a memory address.
The 8 bit near jumps can jump up to 127 bytes forward or backward. Forward start at 0h to 79h, backward start from FFh to 80h.
See also Condition Jumps.
Examples show how to call a sub routine at:
000007D4 SubPressAnyKey: is called with - JMP SubPressAnyKey
Assembly
SampleDescription 16 bit Machine
CodeJMP 0x03 ; Jump forward using an 8 bit relative
; numberEB 03 JMP 0xFD ; Jump backwards using an 8 bit
; relative numberEB FD JMP 0x07D4 ; Jump forward using a 16 bit relative
; numberE9 D4 07 JMP SubPressAnyKey ; Jump forward relative using
; a Label or Routine nameE9 79 05 JMP AX ; Jump using an absolute 16 bit
; registerFF E0 MOV BX, 0x0020 ; Assign a memory location BB 20 00 MOV [BX], 0x07D4 ; Assign a valid sub routine address C7 07 D4 07 JMP [BX] ; Jump using a direct memory address FF 27