/Microprocessor-Simulator

Microprocessor simulator, which consists of four 16-bit registers (pairs of 8-bit registers).

Primary LanguageC#MIT LicenseMIT

Microprocessor-Simulator

Main project's aim is to simulate 16-bit microprocessor actions.
Microprocessor consists of four 16-bit registers:

  • AX (AH, AL)
  • BX (BH, BL)
  • CX (CH, CL)
  • DX (DH, DL)
Application can simulate operations like ADD, SUB and MOV in the either addressing or immediate mode.
User can choose source and destination registers in order to add value to preferable register.
Interrupts are carried out using stack. All of them are BIOS interrupt calls. Below it's shown which AH value corresponds with given interrupt.

Interrupts vector AH value Description
INT 10 (Video Services) 03h Read cursor position
INT 13 (Low Level Disk Services) 01h Check drive status
INT 14 (Serial Port Services) 03h Check port status
INT 16 (Keyboard Services) 00h Read keyboard char and store it to register
INT 17 (Printer Services) 02h Check printer status
INT 19 - Reboot system
INT 1A 00h Read RTC
INT 1A 02h Read RTC time
INT 1A 04h Read RTC date
INT 20 - Shut down system
In order to save value into memory press PUSH button and in order to load saved value from the top of the stack press POP button and choose destination register.
Application enables user to load commands from file or save them to it.
There's also a possibility to execute all commands at once or execute them step by step.
All commands added into memory are displayed in the black textbox.

Overview: