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)
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 |
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: