Intel 4004 Op-Codes
Instruction |
Mnemonic |
1st byte |
2nd byte |
Modifiers |
---|---|---|---|---|
No Operation |
00000000 |
|||
Jump Conditional |
0001CCCC |
AAAAAAAA |
C, A |
|
Fetch Immediate |
0010RRR0 |
DDDDDDDD |
RP, D |
|
Send Register Control |
0010RRR1 |
RP |
||
Fetch Indirect |
0011RRR0 |
RP |
||
Jump Indirect |
0011RRR1 |
RP |
||
Jump Unconditional |
0100AAAA |
AAAAAAAA |
A |
|
Jump to Subroutine |
0101AAAA |
AAAAAAAA |
A |
|
Increment |
0110RRRR |
R |
||
Increment and Skip |
0111RRRR |
AAAAAAAA |
R, A |
|
Add |
1000RRRR |
R |
||
Subtract |
1001RRRR |
R |
||
Load |
1010RRRR |
R |
||
Exchange |
1011RRRR |
R |
||
Branch Back and Load |
1100DDDD |
D |
||
Load Immediate |
1101DDDD |
D |
||
Write Main Memory |
11100000 |
|||
Write RAM Port |
11100001 |
|||
Write Program RAM |
11100011 |
|||
Write ROM Port |
11100010 |
|||
Write Status Char 0 |
11100100 |
|||
Write Status Char 1 |
11100101 |
|||
Write Status Char 2 |
11100110 |
|||
Write Status Char 3 |
11100111 |
|||
Subtract Main Memory |
11101000 |
|||
Read Main Memory |
11101001 |
|||
Read ROM Port |
11101010 |
|||
Add Main Memory |
11101011 |
|||
Read Status Char 0 |
11101100 |
|||
Read Status Char 1 |
11101101 |
|||
Read Status Char 2 |
11101110 |
|||
Read Status Char 3 |
11101111 |
|||
Clear Both |
11110000 |
|||
Clear Carry |
11110001 |
|||
Increment Accumulator |
11110010 |
|||
Complement Carry |
11110011 |
|||
Complement Accumulator |
11110100 |
|||
Rotate Left |
11110101 |
|||
Rotate Right |
11110110 |
|||
Transfer Carry and Clear |
11110111 |
|||
Decrement Accumulator |
11111000 |
|||
Transfer Carry Subtract |
11111001 |
|||
Set Carry |
11111010 |
|||
Decimal Adjust Accumulator |
11111011 |
|||
Keyboard Process |
11111100 |
|||
Designate Command Line |
11111101 |
Note
Modifiers
A = Address
C = Condition
D = Data
R = Register
RP = Register Pair