Programmeren in TI-83+ Assembly/Registers en procedures/Meer registers
Deze paragraaf leert je wat meer over de registers die er beschikbaar zijn. We beginnen met een herhaling van de registers die je al kent. De rest van de paragraaf geeft een korte opsomming van de andere beschikbare registers, die in de volgende paragrafen worden uitgelegd.
Herhaling van de bekende registers
bewerkenJe kent twee soorten registers:
- 8-bit-registers: a, b, c, d, e, f, h, l
- Deze registers kunnen 8 bits (= 1 byte) aan gegevens opslaan. Dit komt overeen met een getal van $00 tot $FF of van 0 tot 255.
- 16-bit-registers: af, bc, de, hl
- Dit zijn combinaties van twee 8-bit-registers. Ze kunnen dus 16 bits (= 2 bytes) aan gegevens opslaan. Als je een 16-bit-register verandert, dan veranderen de bijbehorende 8-bit-registers natuurlijk mee.
De indexregisters
bewerkenEr zijn twee 16-bit-registers ix en iy, die indexregisters heten. Voorbeeld:
ld ix, 56
Je kunt deze registers meestal gebruiken in de plaats van hl, bijvoorbeeld als hl al in gebruik is en je toch nog een 16-bit-register nodig hebt. Let op dat ix bijvoorbeeld niet een samenvoeging is van een zeker register i en een register x, en dat iy geen samenvoeging is van i en y. Beide indexregisters zijn 16-bit-registers die niet uit twee losse 8-bit-registers zijn opgebouwd. Als het echter noodzakelijk is, is het wel mogelijk om de twee bytes van ix en iy aan te spreken. Zie de paragraaf De indexregisters.
De stackpointer
bewerkenDe stackpointer (sp) is een 16-bit-register. Dit register wordt gebruikt om de stack bij te houden. Het is niet de bedoeling om deze direct te veranderen. Zie voor meer uitleg de paragraaf Werking van de stack.
Schaduwregisters
bewerkenIeder 16-bit-register dat je vóór dit hoofdstuk al kende (dus af, bc, de en hl) heeft een zogenaamd "schaduwregister" (af', bc', de' en hl'). Deze registers worden gebruikt voor zogenaamde interrupts. Deze worden (nog?) niet uitgelegd in dit boek. Voor de volledigheid: er zijn twee instructies van belang voor schaduwregisters.
- ex af, af' wisselt af om met af'.
- exx wisselt bc, de en hl om met bc', de' en hl'.