Home  Site Map  Instruction Index 

ADC  -  Add with Carry Instruction


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
Sample
Description 16 bit Machine
Code
ADC 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
;  address
  81 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 offset
  83 57 02 30
ADC [BX+2], 0x3030;  16 bit immediate to memory
;  address with offset
  81 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 offset
  11 47 02
ADC AX, [BX+2];  Memory address with offset
;  to 16 bit Register
  13 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