LEZIONE 47

SUB --- END SUB

L’ istruzione SUB permette di richiamare una subroutine, vediamo di cosa si tratta in dettaglio.
Nei programmi precedenti abbiamo usato il seguente blocco di istruzioni:


DESTRA:
	PortA = b'00000110'	'Il microrobot va indietro
	WAIT 1 sec 		'Attende pochi secondi
	PortA = b'00000101' 	'Il microrobot gira a destra
	WAIT 1 sec 		'Attende pochi secondi
GOTO Ciclo 			'Salta all'inizio del programma

Questo blocco si può sostituire con la seguente subroutine:


SUB SINISTRA
	PortA = b'00000110'	'Il microrobot va indietro
	WAIT 1 sec		'Attende pochi
	PortA = b'00001010' 	'Il microrobot va a destra
	WAIT 1 sec 		'Attende pochi
END SUB 			'Salta da dove era partito

La differenza tra il primo blocco ed il secondo blocco sembra minima ma è sostanziale.
Nel primo caso l’istruzione GOTO Ciclo salta all’inizio del programma (vedere il programma per i sensori meccanici) nel secondo caso invece al comando END SUB il programma continua da dove si era fermato.

Facciamo qualche esempio per capire meglio, iniziamo con l’istruzione GOTO:

INIZIO
ISTRUZIONE1
ISTRUZIONE2
ISTRUZIONE3
GOTO AVANTI
ISTRUZIONE5
ISTRUZIONE6
FINE
AVANTI
ISTRUZIONE7
ISTRUZIONE8
GOTO INIZIO

In questo caso il programma eseguirà le istruzioni dalla 1 alla 3 poi eseguirà il salto all’etichetta AVANTI ed eseguirà le istruzioni 7 ed 8 poi tornerà all’inizio del programma.
In questo programma le istruzioni 5 e 6 non saranno mai eseguite.

LEZIONE 48
LEZIONE 46