First : Yes. Return point will be stacked up on a stack memory when a GOSUB is called, and the stacked pointer will be erased when a RETURN is called.
Second : Write as follows.
IF A THEN B:C:D ELSE E:F:G
or
IF A THEN
B:C:D
ELSE
E:F:G
ENDIF
Third : No. It will cause "Stack Overflow" or "RETURN without GOSUB" errors.
Recently, I created my account for SmileBASIC Source just after I heard of the end of Miiverse service. And I'm planning to expose keys of my programs on there.
Write ENDIF in line 132, 135 and 138.
When THEN is followed by carriage return directly, you need ENDIF at the end of IF THEN suite.
When you write IF THEN suite in a line, you don't need ENDIF.
You should use SPOFS to locate a sprite on certain place.
Could you refer to preset helps as follows.
1) Type SPOFS on the console.
2) Press help [?] button on the keyboard.
In Java, C and so on, you need "\n" or "\r" for carriage return and line feed. PRINT of BASIC does them automatically. If you don't want to do them, PRINT statement should be followed by ";" instead.