|
|
Dati due interi a e b decidere se a > b
Algoritmo (da descrivere a parole e con un diagramma di flusso): ...
Programma: PROG RUN '
INP A '
INP B '
LDA A ' ACC <-- (a-b)
SUB B '
JGT VERO ' SE(ACC > 0): PC <-- VERO
LDA #0 ' RISP <-- 0
STA RISP '
JMP FINE ' PC <-- FINE
VERO LDA #1 ' RISP <-- 1
STA RISP '
FINE OUT RISP '
ALT '
A DAT 0 '
B DAT 0 '
RISP DAT 0 '
END '
Utilizzando il valore iniziale di RISP si può ridurre la dimensione del programma Programma:
PROG RUN '
INP A '
INP B '
LDA A '
SUB B '
JGT FINE ' SE(ACC > 0): PC <-- FINE
LDA #0 '
STA RISP '
FINE OUT RISP '
ALT '
A DAT 0 '
B DAT 0 '
RISP DAT 1 ' vero, per ipotesi
END 'oppure
PROG RUN '
INP A '
INP B '
LDA A '
SUB B '
JLE FINE ' SE(ACC <= 0): PC <-- FINE
LDA #1 '
STA RISP '
FINE OUT RISP '
ALT '
A DAT 0 '
B DAT 0 '
RISP DAT 0 ' falso, per ipotesi
END ' |
|