Bifurcar a, y return de, una subrutina.
GOSUB line number . . . RETURN [line number]
line number es el primer número de línea de la subrutina.
Puede llamarse a una subrutina cualquier número de veces en un programa, y puede llamarse una subrutina desde dentro otra subrutina. Tal anillado de subrutinas es limitado sólo por la memoria disponible.
Una declaración RETURN en una subrutina hace que GW-BASIC vuelva a la declaración después de declaración GOSUB más reciente. Una subrutina puede contener más de una declaración RETURN, debe la lógica dictar un RETURN en puntos diferentes en la subrutina.
Las subrutinas pueden aparecer en todas partes en el programa, pero deben ser fácilmente distinguibles del programa principal. *nota del traductor usar la instruccion REM
Para prevenir la entrada involuntaria, preceda a la subrutina por STOP, END, o GOTO para dirigir el control de programa alrededor de la subrutina.
10 GOSUB 40 20 PRINT "BACK FROM SUBROUTINE" 30 END 40 PRINT "SUBROUTINE"; 50 PRINT " IN"; 60 PRINT " PROGRESS" 70 RETURN RUN SUBROUTINE IN PROGRESS BACK FROM SUBROUTINE
La declaración END en la línea 30 previene la nueva ejecución de la subrutina.