- 16-Bit address space (from
0x0000
to0xFFFF
) - 8 registers
- Operation registers (AX, BX, CX, DX)
- Pointer registers (CP, SP)
- Flag registers (ZF, CF)
- Interrupt pointers (IX)
- On-Off interrupt
- Keyboard interrupt
- Stack overflow interrupt
- Big endian memory layout
- All standard operations supported
- Virtual console display (80x24 character grid, 16 colors)
Address | Description | Name |
---|---|---|
0 |
code pointer | CP |
2 |
stack pointer | SP |
4 |
zero flag | ZF |
6 |
carry flag | CF |
8 |
register | AX |
A |
register | BX |
C |
register | CX |
E |
register | DX |
Address | Description | Name |
---|---|---|
10 |
interrupt value | IX |
12 |
ir state | IT |
14 |
ir keyboard | IK |
16 |
ir stack overflow | IS |
Address | Description | Name |
---|---|---|
100 |
stack base | SB |
... | stack | - |
FFF |
stack max | - |
The memory layout of this region differs from mode to mode. The graphics mode is stored in 1FFE
.
The only available mode at this time is the terminal mode (80x24).
In this mode the region (1000
- 1EFF
) stores character and color data.
The first byte maps the color (first half foreground, second half background). You can choose between 8 different colors.
The second byte must be a UTF-8 encoded character.
Copyright 2016 Lennart Espe. All rights reserved.
Use of this source code is governed by a MIT-style license that can be found in the LICENSE.md file.