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 ADC instruction adds the second value to the first register and sets the Overflow and Carry flags when required after the operation.
This command has 3 parts, Instruction, Register, then either a Register, Immediate value or a Memory address.Values of 0x30 and 0x3030 are used to demonstate the use of 8bit and 16bit values.
Assembly
SampleDescription 16 bit Machine
CodeADC AL, 0x30 ; 8 bit immediate to AL Register 14 30 ADC CL, 0x30 ; 8 bit immediate to 8 bit Register 80 D1 30 ADC AX, 0x30 ; 8 bit immediate to AX Register 83 D0 30 ADC AX, 0x3030 ; 16 bit immediate to AX Register 15 30 30 ADC CX, 0x30 ; 8 bit immediate to 16 bit Register 83 D1 30 ADC CX, 0x3030 ; 16 bit immediate to a Register 81 D1 30 30 ADC [BX], 0x30 ; 8 bit immediate to memory address 83 17 30 ADC [BX], 0x3030 ; 16 bit immediate to memory
; address81 17 30 30 ADC [BX], AX ; 16 bit Register to memory address 11 07 ADC [BX+2], 0x30 ; 8 bit immediate to memory address
; with offset83 57 02 30 ADC [BX+2], 0x3030 ; 16 bit immediate to memory
; address with offset81 57 02 30 30 ADC AX, [BX] ; memory address to 16 bit Register 13 07 ADC [BX+2], AX ; 16 bit Register to memory
; address with offset11 47 02 ADC AX, [BX+2] ; Memory address with offset
; to 16 bit Register13 47 02 ADC AL, CL ; 8 bit Register to 8 bit Register 12 C1 ADC CL, AL ; 8 bit Register to 8 bit Register 10 C1 ADC AX, CX ; 16 bit Register to 16 bit Register 13 C1 ADC CX, AX ; 16 bit Register to 16 bit Register 11 C1