A modern 8085 microprocessor simulator with an integrated development environment
Features • Installation • Usage • Documentation • Contributing • License
Neo8085 is a comprehensive 8085 microprocessor simulator designed for educational and development purposes. It provides a modern, feature-rich environment for writing, debugging, and executing 8085 assembly language programs with real-time visualization of processor state and memory.
- Syntax highlighting for 8085 assembly language
- Line numbers and breakpoint management
- File operations (Open, Save, Save As)
- Modern UI with light theme
- Partial 8085 instruction set support
- Symbol and label resolution
EQUdirective with arithmetic expression support- Comprehensive error reporting
- Support for
DSdirective for reserving memory bytes
- Step-by-step execution
- Continuous execution with breakpoints
- Real-time register and flag visualization
- Memory viewer and editor
- Number format converter (Hex, Decimal, Binary, ASCII)
- Memory editor for direct manipulation
- Execution statistics tracking
- Detailed execution log
- Python 3.13+
- PySide6 (Qt for Python)
-
Clone the repository:
git clone https://github.com/rusty-jar/Neo8085.git cd Neo8085 -
Install dependencies:
pip install -r requirements.txt -
Run the application:
python src/main.py
Use the built-in editor with syntax highlighting, line numbers, and breakpoint support.
- Assemble: Click "Assemble" or press
Ctrl+B - Step Execution: Click "Step" or press
F10 - Continuous Execution: Click "Run" or press
F5 - Fast Execution: Use "Run without Highlighting" or press
Ctrl+Shift+F5 - Debugging: Set breakpoints by clicking line numbers or pressing
F9
- Use the Memory Editor to write values directly
- View memory contents in the Memory View table
- Enable Follow PC to track the Program Counter automatically
Data Transfer:
- Register operations:
MOV,MVI - Memory operations:
LDA,STA,LDAX,STAX,LHLD,SHLD - Register pair operations:
LXI,XCHG,XTHL,SPHL,PCHL
Arithmetic:
- Basic operations:
ADD,ADI,SUB,INR,DCR - With carry:
ADC,ACI,SBB,SBI - Register pair operations:
INX,DCX,DAD - BCD operations:
DAA
Logical:
- Bitwise operations:
ANA,ANI,ORA,ORI,XRA,XRI,CMA - Comparison:
CMP,CPI - Rotation:
RLC,RRC,RAL,RAR - Flag operations:
STC,CMC
Branching:
- Unconditional:
JMP,CALL,RET - Conditional jumps:
JZ,JNZ,JC,JNC,JP,JM,JPE,JPO - Conditional calls:
CZ,CNZ,CC,CNC,CP,CM,CPE,CPO - Conditional returns:
RZ,RNZ,RC,RNC,RP,RM,RPE,RPO - Restart:
RST 0-7
Stack Operations:
PUSH,POP
Machine Control:
HLT,NOP
Not Implemented:
- I/O operations:
IN,OUT - Interrupt control:
EI,DI,RIM,SIM
ORG: Set starting addressEQU: Define constants (supports arithmetic)DS: Reserve memory spaceEND: Mark the end of the program (currently just a placeholder)
| Shortcut | Action |
|---|---|
| Ctrl+N | New File |
| Ctrl+O | Open Program |
| Ctrl+S | Save |
| Ctrl+Shift+S | Save As |
| Ctrl+B | Assemble |
| F10 | Step |
| F5 | Run |
| Ctrl+Shift+F5 | Run without Highlighting |
| F8 | Stop |
| Ctrl+R | Reset |
| F9 | Add Breakpoint |
Neo8085 Interface showing the simulator in action
We welcome contributions to Neo8085!
Here's how to get started:
- Fork the repository
- Create a new branch:
git checkout -b feature-name
- Make your changes and commit:
git commit -m "Describe your changes" - Push to your fork:
git push origin feature-name
- Open a Pull Request
- Follow existing code style and structure
- Write clear, descriptive commit messages
- Comment complex logic
- Update documentation and add tests for new features
This project is licensed under the GNU General Public License v3.0.
See the LICENSE file for details.
- Inspired by the Intel 8085 instruction set
- Built using PySide6 (Qt for Python)
Made with ❤️ by Shahibur Rahaman
© 2025 Shahibur Rahaman

