Programmeren in TI-83+ Assembly/Controle/Optellen en aftrekken

Uit Wikibooks

Programmeren in TI-83+ Assembly

Voorblad / Inhoudsopgave

Assembly-basis

1 · 2 · 3 · 4 · 5 · T

Controle

1 · 2 · 3 · 4 · 5 · T

Geheugenbeheer

1 · 2 · 3 · 4 · 5 · T

Input en output

1 · 2 · 3 · 4 · 5 · T

Tekenen

1 · 2 · 3 · 4 · 5 · T

Registers en procedures

1 · 2 · 3 · 4 · 5 · T

Applications

1 · 2 · 3 · 4 · T

Gebruikersvariabelen

1 · T

Extra

1 · T

Speciaal

Voordat we kunnen beginnen met voorwaarden, moeten we eerst iets weten over optellen en aftrekken.

add[bewerken]

We beginnen met optellen.

    add a, b

Dit telt b op bij a en slaat het antwoord op in a.

    add a, 8

Dit telt 8 op bij a en slaat het antwoord op in a.

Je kunt alleen maar iets optellen bij a of bij hl. Fout is bijvoorbeeld:

    add b, 8

Mocht je nu toch willen optellen bij b, dan kan dat door a en b tijdelijk om te draaien:

    ex a, b
    add a, 8
    ex a, b

Dit telt 8 bij b op.

Zoals eerder gezegd, is het ook mogelijk om op te tellen bij hl. Dit gaat bijvoorbeeld als volgt:

    add hl, hl

Je mag alleen maar een ander 16-bit-register optellen bij hl. Het volgende is dus niet toegestaan:

    add hl, 6    ; Fout!

Om dit te doen, kun je natuurlijk wel een ander 16-bit-register gebruiken:

    ld de, 6
    add hl, de

sub[bewerken]

Aftrekken gaat als volgt.

    sub b

Dat ziet er een beetje vreemd uit. Eigenlijk is de syntaxis van deze instructie gelijk aan die van add, maar het eerste argument wordt weggelaten omdat je toch alleen maar kunt aftrekken van a. De instructie hierboven haalt dus b van a af en slaat het antwoord op in a.

inc en dec[bewerken]

Wil je één optellen of aftrekken, dan kun je respectievelijk inc of dec gebruiken. Dit gaat als volgt:

    inc a

Dit telt één op bij a.

    dec hl

Dit trekt één af van hl.

Dit zijn nuttige instructies, vooral omdat je hierbij (in tegenstelling tot add en sub) alle registers kunt gebruiken.

Opdracht[bewerken]

Maak een programmaatje dat 3 en 4 optelt en het resultaat op het scherm weergeeft. Tip: gebruik bcall(_DispHL) om de waarde neer te zetten op het scherm.


← Springen en subroutines Optellen en aftrekken Het register f
Informatie afkomstig van https://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.