Increment
| Instruction | INC byte | 
|---|---|
| Function | Increment | 
| Description | INC increments the indicated variable by 1. An original value of 0FFH overflows to 00H. No flags are affected.  Three addressing modes are allowed: register, direct, or register-indirect. Note: When this instruction is used to modify an output port, the value used as the original port data will be read from the output data latch, not the input pins. | 
| Example | Register 0 contai ns 7EH (011111110B) . I nternal RAM l ocati ons 7EH and 7FH contain 0FFH and 40H, respectively. The following instruction sequence, INC @R0 INC R0 INC @R0 leaves register 0 set to 7FH and internal RAM locations 7EH and 7FH holding 00H and 41H, respectively. | 
| Variants | INC A INC Rn INC direct address INC @Ri | 
| Instruction | INC A | 
|---|---|
| Bytes | 1 | 
| Cycles | 1 | 
| Encoding | 0 0 0 0 0 1 0 0 | 
| Operation | A = A + 1 | 
| Flags Affected | C AC F0 RS1 RS0 OV P | 
| Example | INC A | 
| Bytes: Number of bytes required to encode the instruction. Cycles: Number of instruction cycles required to execute the instruction. Note that there are 12 oscillator cycles to one instruction cycle on a standard 8051. Encoding: Lists the byte encoding for the instruction. Operation: Lists, step-by-step, the operations performed by the instruction. Flags Affected: are highlighted in Bold | |
| Instruction | INC Rn | 
|---|---|
| Bytes | 1 | 
| Cycles | 1 | 
| Encoding | 0 0 0 0 1 n n n | 
| Operation | Rn = Rn + 1 | 
| Flags Affected | C AC F0 RS1 RS0 OV P | 
| Example | INC R4 | 
| Bytes: Number of bytes required to encode the instruction. Cycles: Number of instruction cycles required to execute the instruction. Note that there are 12 oscillator cycles to one instruction cycle on a standard 8051. Encoding: Lists the byte encoding for the instruction. Operation: Lists, step-by-step, the operations performed by the instruction. Flags Affected: are highlighted in Bold | |
| Instruction | INC direct address | 
|---|---|
| Bytes | 2 | 
| Cycles | 1 | 
| Encoding | 0 0 0 0 0 1 0 1 A7...A0 | 
| Operation | (direct) = (direct) + 1 | 
| Flags Affected | C AC F0 RS1 RS0 OV P | 
| Example | INC 34h | 
| Bytes: Number of bytes required to encode the instruction. Cycles: Number of instruction cycles required to execute the instruction. Note that there are 12 oscillator cycles to one instruction cycle on a standard 8051. Encoding: Lists the byte encoding for the instruction. Operation: Lists, step-by-step, the operations performed by the instruction. Flags Affected: are highlighted in Bold | |
| Instruction | INC @Ri | 
|---|---|
| Bytes | 1 | 
| Cycles | 1 | 
| Encoding | 0 0 0 0 0 1 1 i | 
| Operation | (Ri) = (Ri) + 1 | 
| Flags Affected | C AC F0 RS1 RS0 OV P | 
| Example | INC @R0 | 
| Bytes: Number of bytes required to encode the instruction. Cycles: Number of instruction cycles required to execute the instruction. Note that there are 12 oscillator cycles to one instruction cycle on a standard 8051. Encoding: Lists the byte encoding for the instruction. Operation: Lists, step-by-step, the operations performed by the instruction. Flags Affected: are highlighted in Bold | |
| Instruction | INC DPTR | 
|---|---|
| Function | Increment Data Pointer | 
| Bytes | 1 | 
| Cycles | 2 | 
| Encoding | 1 0 1 0 0 0 1 1 | 
| Operation | DPTR = DPTR + 1 | 
| Description | INC DPTR increments the 16-bit data pointer by 1. A 16-bit increment (modulo 216) is performed, and an overflow of the low-order byte of the data pointer (DPL) from 0FFH to 00H increments the high-order byte (DPH). No flags are affected. This is the only 16-bit register which can be incremented. | 
| Flags Affected | C AC F0 RS1 RS0 OV P | 
| Example | Registers DPH and DPL contain 12H and 0FEH, respectively. The following instruction sequence, INC DPTR INC DPTR INC DPTR changes DPH and DPL to 13H and 01H. | 
| Bytes: Number of bytes required to encode the instruction. Cycles: Number of instruction cycles required to execute the instruction. Note that there are 12 oscillator cycles to one instruction cycle on a standard 8051. Encoding: Lists the byte encoding for the instruction. Operation: Lists, step-by-step, the operations performed by the instruction. Flags Affected: are highlighted in Bold | |
Related topics:
8051 Arithmetic Operation Instructions | 8051 ADD Instruction | 8051 ADDC Instruction | 8051 SUBB Instruction | 8051 DEC Instruction | 8051 MUL Instruction | 8051 DIV Instruction | 8051 DA Instruction
List of topics: 8051
 
No comments:
Post a Comment