RealQ16s:Provisional register listing

From Maths
Revision as of 21:36, 13 February 2016 by Alec (Talk | contribs) (Created page with "These are the minimum required registers for the RealQ16s project - that is there may be more registers than this in an actual machine (depending on exten...")

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

These are the minimum required registers for the RealQ16s project - that is there may be more registers than this in an actual machine (depending on extensions) but these /must/ be present.

Core registers

These registers are required by all implementations of RealQ16s

  • General purpose - There are 8 bytes of general purpose registers.
    • There are 4 16 bit general purpose registers, A, B, C and D. Each of these is aliased to 2 8 bit registers, they are:
      • AL, AH, BL, BH, CL, CH, DL and DH. That is AL is the lower byte of A and AH the upper, same for the others.
    • To sum up the registers are as follows:
    [ilmath]\overbrace{\ \ \overbrace{\text{8 bits} }^\text{AL}\ \ \ \vert\ \ \ \overbrace{\text{8 bits} }^\text{AH}\ \ }^\text{A}[/ilmath] [ilmath]\Big\vert[/ilmath] [ilmath]\overbrace{\ \ \overbrace{\text{8 bits} }^\text{BL}\ \ \ \vert\ \ \ \overbrace{\text{8 bits} }^\text{BH}\ \ }^\text{B}[/ilmath] [ilmath]\Big\vert[/ilmath] [ilmath]\overbrace{\ \ \overbrace{\text{8 bits} }^\text{CL}\ \ \ \vert\ \ \ \overbrace{\text{8 bits} }^\text{CH}\ \ }^\text{C}[/ilmath] [ilmath]\Big\vert[/ilmath] [ilmath]\overbrace{\ \ \overbrace{\text{8 bits} }^\text{DL}\ \ \ \vert\ \ \ \overbrace{\text{8 bits} }^\text{DH}\ \ }^\text{D}[/ilmath]
  • Instruction pointer
    [ilmath]\overbrace{\ \ \text{8 bits}\ \ \ \vert\ \ \ \text{8 bits}\ \ }^\text{IP}[/ilmath]
  • Stack registers
    • There are 2 stack registers, BP, which points to the base of the current stack frame and SP, which points to the head of the stack.
    [ilmath]\overbrace{\ \ \text{8 bits}\ \ \ \vert\ \ \ \text{8 bits}\ \ }^\text{BP}[/ilmath] [ilmath]\Big\vert[/ilmath] [ilmath]\overbrace{\ \ \text{8 bits}\ \ \ \vert\ \ \ \text{8 bits}\ \ }^\text{SP}[/ilmath]