Decidere se un certo numero è uguale al doppio di un altro
PROG RUN '
INP A '
INP B '
LDA A ' Acc <-- A-B-B
SUB B '
SUB B '
JEQ SI '
LDA #0 ' RISP <-- 0
STA RISP '
JMP FINE '
SI LDA #1 ' RISP <-- 1
STA RISP '
FINE OUT RISP '
ALT '
A DAT 0 '
B DAT 0 '
RISP DAT 0 '
END '
Visualizzare tutti i numeri pari fino a 100
PROG RUN '
SU LDA X ' X <-- X+2
ADD #2 '
STA X '
OUT X '
SUB ULT ' (X-ULT)<=0 ?
JLE SU '
ALT '
X DAT 0 '
ULT DAT 100 '
END '
Moltiplicare due numeri senza utilizzare l'istruzione MUL (con ADDizioni
successive...)
PROG RUN '
INP A '
INP B '
SU LDA RISP ' RISP <-- RISP+A
ADD A '
STA RISP '
LDA B ' B <-- B-1
SUB #1 '
STA B '
JNE SU ' B<>0 ?
OUT RISP '
ALT '
A DAT 0 '
B DAT 0 '
RISP DAT 0 '
END '
Se per ipotesi B>0, altrimenti è necessario controllare prima il valore di B
e poi incrementare RISP PROG RUN '
INP A '
INP B '
SU LDA B ' B <-- B-1
SUB #1 '
STA B '
JLT FINE ' B<0 ?
LDA RISP ' RISP <-- RISP+A
ADD A '
STA RISP '
JMP SU '
FINE OUT RISP '
ALT '
A DAT 0 '
B DAT 0 '
RISP DAT 0 '
END ' |