|
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 ' |
|