|
|
Problema: Determinare il numero di radici reali (diverse) di un'equazione di 2° grado con coefficienti a, b e c. Discussione: Si calcola il discriminante (b2-4ac) e poi se (Δ > 0) ..., se (Δ = 0) ... altrimenti (Δ < 0) ... Programma: PROG RUN '
INP a '
INP b '
INP c '
LDA #4 ' ...
MUL a ' ...
MUL c ' ...
STA a ' a <-- 4ac
LDA b ' ...
MUL b ' ...
SUB a ' ACC <-- b2-4ac
JGT DUE ' SE(Δ > 0): ...
JEQ UNA ' SE(Δ = 0): ...
JMP NESS ' SE(Δ < 0): ...
DUE LDA #2 '
STA a '
JMP RISP '
UNA LDA #1 '
STA a '
JMP RISP '
NESS LDA #0 '
STA a '
RISP OUT a '
ALT '
a DAT '
b DAT '
c DAT '
END '
La variabile a è utilizzata per l'input, come appoggio per i calcoli e per l'output...
Risparmiare qualcosa? PROG RUN '
INP a '
INP b '
INP c '
LDA #4 '
MUL a '
MUL c '
STA a ' a <-- 4ac
LDA b '
MUL b '
SUB a ' ACC <-- b2-4ac
JGT DUE ' SE(Δ > 0): ...
JEQ UNA ' SE(Δ = 0): ...
LDA #0 '
JMP RISP ' SE(Δ < 0): ...
DUE LDA #2 '
JMP RISP '
UNA LDA #1 '
RISP STA a '
OUT a '
ALT '
a DAT '
b DAT '
c DAT '
END ' |
|