Skip to content

Commit a793849

Browse files
authored
Update README.md
add IP, fix some language
1 parent 3c9d348 commit a793849

File tree

1 file changed

+16
-15
lines changed

1 file changed

+16
-15
lines changed

hardware/cpu/README.md

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -25,19 +25,20 @@ The S1C88V20 operates with a handful of registers. The CPU is an amalgamation of
2525

2626
Here, _#hh_ and _#ll_ are immediate data used for addressing operations. _00_ is a fixed zero value and blank means the option is not available. Not having a page register means there is no method of using it for indirectly addressing data.
2727

28-
| Page | 16-bit | 8-bit Hi | 8-bit Lo | Description |
29-
|:----:|:------:|:--------:|:--------:| ----------------------------- |
30-
| | `BA` | `B` | `A` | Data register |
31-
| `EP` | `HL` | `H` | `L` | Index or data register |
32-
| `EP` | | `BR` | _#ll_ | Base register |
33-
| `EP` | | _#hh_ | _#ll_ | Absolute addressing |
34-
| `XP` | `IX` | | | Index register |
35-
| `YP` | `IY` | | | Index register |
36-
| `CB` | `PC` | | | Code bank and program counter |
37-
| `NB` | | | | New code bank |
38-
| _00_ | `SP` | | | Stack pointer |
39-
| | | | `SC` | System condition flags |
40-
| | | | `CC` | Custom condition flags |
28+
| Page | 16-bit | 8-bit Hi | 8-bit Lo | Description |
29+
|:----:|:------:|:--------:|:--------:| ------------------------------ |
30+
| | `BA` | `B` | `A` | Data register |
31+
| `EP` | `HL` | `H` | `L` | Index or data register |
32+
| `EP` | | `BR` | _#ll_ | Base register |
33+
| `EP` | | _#hh_ | _#ll_ | Absolute addressing |
34+
| `XP` | `IX` | | | Index register |
35+
| `YP` | `IY` | | | Index register |
36+
| `CB` | `PC` | | | Code bank and program counter |
37+
| `NB` | | | | New code bank |
38+
| _00_ | `SP` | | | Stack pointer |
39+
| | | | `SC` | System condition flags |
40+
| | | | `CC` | Custom condition flags |
41+
| | `IP` | `XP` | `YP` | Index pages (only in PUSH/POP) |
4142

4243
### BA pair register
4344

@@ -57,7 +58,7 @@ These are general-purpose registers intended for indirect addressing. They use X
5758

5859
### Page registers
5960

60-
In order to access 24-bit addresses using registers, separate page registers are available. IX and IY both provide 24-bit addresses using the XP and YP registers, respectively, as their upper 8 bits. HL, BR, and absolute addressing use the Expand Page register, EP, for selecting the page. It is generally good practice to maintain EP as 00h unless otherwise necessary.
61+
In order to access 24-bit addresses using registers, separate page registers are available. IX and IY both provide 24-bit addresses using the XP and YP registers, respectively, as their uppermost 8 bits. HL, BR, and absolute addressing use the Expand Page register, EP, for selecting the page. It is generally good practice to maintain EP as 00h unless otherwise necessary.
6162

6263
### PC register
6364

@@ -106,7 +107,7 @@ For most operations, this is a copy of the [most significant bit](/Glossary.md#s
106107

107108
#### Decimal mode
108109

109-
For operations which support this mode, it causes the operation to treat the operands as being in Binary Coded Decimal form. The exact mechanics of which are described on each supporting operator's documentation.
110+
For operations which support this mode, it causes the operation to treat the operands as being in Binary Coded Decimal form. The exact mechanics of which are described in each supporting operator's documentation.
110111

111112
In this mode, only Z and C flags can be set. V and N are always reset to 0.
112113

0 commit comments

Comments
 (0)