Add Low and High registers (8-bit)

This commit is contained in:
g1n 2021-10-17 14:11:46 +03:00
parent 9044dfc6b6
commit af928d0361
2 changed files with 150 additions and 24 deletions

View File

@ -219,22 +219,22 @@
<div id="content">
<h1 class="title">ocpu</h1>
<div id="outline-container-orgd1abad0" class="outline-2">
<h2 id="orgd1abad0">GRU ocpu - yet another cpu design</h2>
<div class="outline-text-2" id="text-orgd1abad0">
<div id="outline-container-org6b8ddca" class="outline-2">
<h2 id="org6b8ddca">GRU ocpu - yet another cpu design</h2>
<div class="outline-text-2" id="text-org6b8ddca">
</div>
<div id="outline-container-org2633cef" class="outline-3">
<h3 id="org2633cef">Features</h3>
<div class="outline-text-3" id="text-org2633cef">
<div id="outline-container-org6e4ce6c" class="outline-3">
<h3 id="org6e4ce6c">Features</h3>
<div class="outline-text-3" id="text-org6e4ce6c">
<ul class="org-ul">
<li>little endian</li>
<li>8-bit (maybe will be changed in future)</li>
</ul>
</div>
</div>
<div id="outline-container-org6fd1008" class="outline-3">
<h3 id="org6fd1008">Registers</h3>
<div class="outline-text-3" id="text-org6fd1008">
<div id="outline-container-orgd86a537" class="outline-3">
<h3 id="orgd86a537">Registers</h3>
<div class="outline-text-3" id="text-orgd86a537">
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
@ -254,44 +254,128 @@
</thead>
<tbody>
<tr>
<td class="org-left">AL</td>
<td class="org-left">General</td>
<td class="org-left">0xA0, 8-bit</td>
</tr>
</tbody>
<tbody>
<tr>
<td class="org-left">AH</td>
<td class="org-left">General</td>
<td class="org-left">0xA1, 8-bit</td>
</tr>
</tbody>
<tbody>
<tr>
<td class="org-left">A</td>
<td class="org-left">General</td>
<td class="org-left">0x0A</td>
<td class="org-left">0xAA, 16-bit</td>
</tr>
</tbody>
<tbody>
<tr>
<td class="org-left">BL</td>
<td class="org-left">General</td>
<td class="org-left">0xB0, 8-bit</td>
</tr>
</tbody>
<tbody>
<tr>
<td class="org-left">BH</td>
<td class="org-left">General</td>
<td class="org-left">0xB1, 8-bit</td>
</tr>
</tbody>
<tbody>
<tr>
<td class="org-left">B</td>
<td class="org-left">General</td>
<td class="org-left">0x0B</td>
<td class="org-left">0xBB, 16-bit</td>
</tr>
</tbody>
<tbody>
<tr>
<td class="org-left">CL</td>
<td class="org-left">General</td>
<td class="org-left">0xC0, 8-bit</td>
</tr>
</tbody>
<tbody>
<tr>
<td class="org-left">CH</td>
<td class="org-left">General</td>
<td class="org-left">0xC1, 8-bit</td>
</tr>
</tbody>
<tbody>
<tr>
<td class="org-left">C</td>
<td class="org-left">General</td>
<td class="org-left">0x0C</td>
<td class="org-left">0xCC, 16-bit</td>
</tr>
</tbody>
<tbody>
<tr>
<td class="org-left">DL</td>
<td class="org-left">&#xa0;</td>
<td class="org-left">0xD0, 8-bit</td>
</tr>
</tbody>
<tbody>
<tr>
<td class="org-left">DH</td>
<td class="org-left">&#xa0;</td>
<td class="org-left">0xD1, 8-bit</td>
</tr>
</tbody>
<tbody>
<tr>
<td class="org-left">D</td>
<td class="org-left">&#xa0;</td>
<td class="org-left">0x0D</td>
<td class="org-left">0xDD, 16-bit</td>
</tr>
</tbody>
<tbody>
<tr>
<td class="org-left">EL</td>
<td class="org-left">&#xa0;</td>
<td class="org-left">0xE0, 8-bit</td>
</tr>
</tbody>
<tbody>
<tr>
<td class="org-left">EH</td>
<td class="org-left">&#xa0;</td>
<td class="org-left">0xE1, 8-bit</td>
</tr>
</tbody>
<tbody>
<tr>
<td class="org-left">E</td>
<td class="org-left">&#xa0;</td>
<td class="org-left">0x0E</td>
<td class="org-left">0xEE, 16-bit</td>
</tr>
</tbody>
<tbody>
<tr>
<td class="org-left">FL</td>
<td class="org-left">&#xa0;</td>
<td class="org-left">0xF0, 8-bit</td>
</tr>
</tbody>
<tbody>
<tr>
<td class="org-left">FL</td>
<td class="org-left">&#xa0;</td>
<td class="org-left">0xF1, 8-bit</td>
</tr>
</tbody>
<tbody>
<tr>
<td class="org-left">F</td>
<td class="org-left">&#xa0;</td>
<td class="org-left">0x0F</td>
<td class="org-left">0xFF, 16-bit</td>
</tr>
</tbody>
<tbody>
@ -346,9 +430,9 @@
</div>
</div>
<div id="outline-container-org23162a0" class="outline-3">
<h3 id="org23162a0">Instuctions</h3>
<div class="outline-text-3" id="text-org23162a0">
<div id="outline-container-org83e1b29" class="outline-3">
<h3 id="org83e1b29">Instuctions</h3>
<div class="outline-text-3" id="text-org83e1b29">
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
@ -636,6 +720,18 @@ TODO: add HLT
<p>
TODO: make instructions for memory use
</p>
<p>
TODO: add instructions for setting flags
</p>
<p>
TODO: add more description
</p>
<p>
TODO: add ALU
</p>
</div>
</div>
</div>

View File

@ -12,17 +12,41 @@
|----------+----------+-----------------|
| Register | Category | Description |
|----------+----------+-----------------|
| A | General | 0x0A |
| AL | General | 0xA0, 8-bit |
|----------+----------+-----------------|
| B | General | 0x0B |
| AH | General | 0xA1, 8-bit |
|----------+----------+-----------------|
| C | General | 0x0C |
| A | General | 0xAA, 16-bit |
|----------+----------+-----------------|
| D | | 0x0D |
| BL | General | 0xB0, 8-bit |
|----------+----------+-----------------|
| E | | 0x0E |
| BH | General | 0xB1, 8-bit |
|----------+----------+-----------------|
| F | | 0x0F |
| B | General | 0xBB, 16-bit |
|----------+----------+-----------------|
| CL | General | 0xC0, 8-bit |
|----------+----------+-----------------|
| CH | General | 0xC1, 8-bit |
|----------+----------+-----------------|
| C | General | 0xCC, 16-bit |
|----------+----------+-----------------|
| DL | | 0xD0, 8-bit |
|----------+----------+-----------------|
| DH | | 0xD1, 8-bit |
|----------+----------+-----------------|
| D | | 0xDD, 16-bit |
|----------+----------+-----------------|
| EL | | 0xE0, 8-bit |
|----------+----------+-----------------|
| EH | | 0xE1, 8-bit |
|----------+----------+-----------------|
| E | | 0xEE, 16-bit |
|----------+----------+-----------------|
| FL | | 0xF0, 8-bit |
|----------+----------+-----------------|
| FL | | 0xF1, 8-bit |
|----------+----------+-----------------|
| F | | 0xFF, 16-bit |
|----------+----------+-----------------|
| PC | Pointer | Program Counter |
|----------+----------+-----------------|
@ -125,3 +149,9 @@ TODO: add interrupts
TODO: add HLT
TODO: make instructions for memory use
TODO: add instructions for setting flags
TODO: add more description
TODO: add ALU