This project aims to emulate the 8085 microprocessor and implement all its instructions with appropriate flag handling. Below is a checklist of all 8085 instructions grouped by categories.
Instruction | Description | Status |
---|---|---|
MOV | Move data between registers. | ✅ Done |
MVI | Move immediate data. | ✅ Done |
LDA | Load accumulator directly. | ✅ Done |
STA | Store accumulator directly. | ✅ Done |
LDAX | Load accumulator indirectly. | ✅ Done |
STAX | Store accumulator indirectly. | ✅ Done |
LHLD | Load H-L pair directly. | ✅ Done |
SHLD | Store H-L pair directly. | ✅ Done |
XCHG | Exchange H-L with D-E. | ✅ Done |
PUSH | Push register pair onto the stack. | ✅ Done |
POP | Pop register pair from the stack. | ✅ Done |
OUT | Output to port. | ✅ Done |
IN | Input from port. | ✅ Done |
Instruction | Description | Status |
---|---|---|
ADD | Add register to accumulator. | ✅ Done |
ADC | Add register to accumulator with carry. | ✅ Done |
SUB | Subtract register from accumulator. | ✅ Done |
SBB | Subtract register with borrow. | ✅ Done |
INR | Increment register. | ✅ Done |
DCR | Decrement register. | ✅ Done |
CMP | Compare register with accumulator. | ✅ Done |
CPI | Compare immediate with accumulator. | ✅ Done |
Instruction | Description | Status |
---|---|---|
ANA | AND register with accumulator. | 🔲 Pending |
ANI | AND immediate with accumulator. | 🔲 Pending |
ORA | OR register with accumulator. | 🔲 Pending |
ORI | OR immediate with accumulator. | 🔲 Pending |
XRA | XOR register with accumulator. | 🔲 Pending |
XRI | XOR immediate with accumulator. | 🔲 Pending |
CMA | Complement accumulator. | 🔲 Pending |
CMC | Complement carry flag. | 🔲 Pending |
STC | Set carry flag. | 🔲 Pending |
Instruction | Description | Status |
---|---|---|
JMP | Jump unconditionally. | 🔲 Pending |
JC | Jump if carry is set. | 🔲 Pending |
JNC | Jump if carry is not set. | 🔲 Pending |
JZ | Jump if zero. | 🔲 Pending |
JNZ | Jump if not zero. | 🔲 Pending |
CALL | Call subroutine. | 🔲 Pending |
RET | Return from subroutine. | 🔲 Pending |
RST | Restart (vector interrupt). | 🔲 Pending |
Instruction | Description | Status |
---|---|---|
PUSH | Push register pair onto the stack. | ✅ Done |
POP | Pop register pair from the stack. | ✅ Done |
HLT | Halt the program. | 🔲 Pending |
NOP | No operation. | 🔲 Pending |
DI | Disable interrupts. | 🔲 Pending |
EI | Enable interrupts. | 🔲 Pending |
- Completed: 11
- Pending: 31
- Clone the repository.
- Go to the cloned project directory.
- Make a ' build ' name dirrectory.
- Go to the build directory and run the command
cmake ..
. ( This will build the project make file ). - Add or update instruction implementations.
- Ensure proper flag handling.
- Add the test case for your project.
- Now we have to compile the project.
- Make sure you are in the ' build ' directory and run the command ``` make ``. ( This will execute the make command ).
- Run The Command to Run the test cases. ( Make sure all the test cases are pass ).
- Update this README checklist to reflect your changes.
- Submit a pull request!
Happy coding!