10
20 DIM program 4*1024
30
40 GetCSC=&4018
50 PutS=&450A
60 ClrLCDFull=&4540
70 HomeUp=&4558
80 skClear=&0F
90
100
110
120 FOR pass=0 TO 1
130 opt=pass*2+4
140
150 P%=&9D93 : O%=program
160 [OPT opt
170
180 DEFB &BB : DEFB &6D
190
200 RET
210 JR NC,main
220 DEFM "BBC BASIC Assembler"
230 DEFB 0
240
250 .main
260 OPT FN_bcall(ClrLCDFull)
270 OPT FN_bcall(HomeUp)
280 LD HL,message
290 OPT FN_bcall(PutS)
300 .waitClear
310 OPT FN_bcall(GetCSC)
320 CP skClear
330 RET Z
340 JR waitClear
350 .message
360 DEFM "Hello, world!"
370 DEFB 0:]
380 NEXT pass
390
400 OSCLI "SAVE IONPROG "+STR$~program+" "+STR$~O%
410 END
420
430 DEF FN_bcall(i)
440 [OPT opt
450 RST &28
460 DEFW i:]
470 =opt