regis any one of the registersA,B,C,D,E,H,L, orM(memory at register pair HL).rpis a register pair, these include registersB,D, andH. Some instructions may acceptSPorPSWas a register pair.d16is either a 2 byte string literal, 16-bit number, a label, or an expression.a16is either a 16 bit number, a label, or an expression.d8is either a 1 byte string literal, 8-bit number, an 8-bit label, or an expression.
LXI <rp or SP>, <d16> - Loads the 16-bit data into the register pair.
STAX <rp> - Stores the accumulator at the memory location specified by the register pair (B or D).
LDAX <rp> - Loads the accumulator from the memory location specified by the register pair (B or D).
STA <a16> - Stores the accumulator at the specified memory address.
LDA <a16> - Loads the accumulator from the specified memory address.
SHLD <a16> - Stores the contents of register pair HL at the specified memory address.
LHLD <a16> - Loads the contents of register pair HL from the specified memory address.
MOV <reg>, <reg> - Copies data from the second register to the first register.
MVI <reg>, <d8> - Loads the 8-bit immediate data into the destination register.
LXI <rp>, <d16> - Loads a 16-bit immediate value into the register pair.
INR <reg> - Increments the specified register by 1.
DCR <reg> - Decrements the specified register by 1.
INX <rp> - Increments the specified register pair by 1.
DCX <rp> - Decrements the specified register pair by 1.
DAD <rp> - Adds the specified register pair to HL.
ADD <reg> - Adds the value of the source register to the accumulator.
ADC <reg> - Adds the value of the source register to the accumulator with carry.
SUB <reg> - Subtracts the value of the source register from the accumulator.
SBB <reg> - Subtracts the value of the source register from the accumulator with borrow.
ANA <reg> - Performs a bitwise AND between the accumulator and the source register.
XRA <reg> - Performs a bitwise XOR between the accumulator and the source register.
ORA <reg> - Performs a bitwise OR between the accumulator and the source register.
CMP <reg> - Compares the accumulator with the source register.
CPI <d8> - Compares the accumulator with an immediate 8-bit value.
RLC - Rotates the accumulator left through the carry.
RRC - Rotates the accumulator right through the carry.
RAL - Rotates the accumulator left through the carry flag.
RAR - Rotates the accumulator right through the carry flag.
CMA - Complements the accumulator.
CMC - Complements the carry flag.
STC - Sets the carry flag.
PUSH <rp> - Pushes the contents of the register pair onto the stack.
POP <rp> - Pops the top two bytes from the stack into the register pair.
XCHG - Exchanges the contents of register pair HL with DE.
XTHL - Swaps HL with the top of the stack.
SPHL - Copies the contents of HL into SP.
JMP <a16> - Jumps to the specified memory address.
JC <a16> - Jumps to the specified memory address if the carry flag is set.
JNC <a16> - Jumps to the specified memory address if the carry flag is not set.
JZ <a16> - Jumps to the specified memory address if the zero flag is set.
JNZ <a16> - Jumps to the specified memory address if the zero flag is not set.
JP <a16> - Jumps to the specified memory address if the sign flag is not set (positive).
JM <a16> - Jumps to the specified memory address if the sign flag is set (negative).
CALL <a16> - Calls the subroutine at the specified address.
CC <a16> - Calls the subroutine at the specified address if the carry flag is set.
CNC <a16> - Calls the subroutine at the specified address if the carry flag is not set.
CZ <a16> - Calls the subroutine at the specified address if the zero flag is set.
CNZ <a16> - Calls the subroutine at the specified address if the zero flag is not set.
CP <a16> - Calls the subroutine at the specified address if the sign flag is not set (positive).
CM <a16> - Calls the subroutine at the specified address if the sign flag is set (negative).
RET - Returns from a subroutine.
RC - Returns from a subroutine if the carry flag is set.
RNC - Returns from a subroutine if the carry flag is not set.
RZ - Returns from a subroutine if the zero flag is set.
RNZ - Returns from a subroutine if the zero flag is not set.
RP - Returns from a subroutine if the sign flag is not set (positive).
RM - Returns from a subroutine if the sign flag is set (negative).
NOP - Does nothing.
HLT - Halts execution.
IN <d8> - Reads a byte from the specified input port.
OUT <d8> - Writes the accumulator to the specified output port.
EI - Enables interrupts.
DI - Disables interrupts.
<IDENTIFIER> EQU <d16> - Assigns the 16-bit value to that identifier.
<IDENTIFIER> SET <d16> - Assigns the 16-bit value to that identifier, allowing redeclaration.
DB <...d8> - Writes up to 8 8-bit values at the current location counter.
DW <...d16> - Writes up to 8 16-bit values at the current location counter.
DS <d16> - Reserves the specified amount of storage.
ORG <d16> - Changes the location counter.
END - Stop assembling.