Inhaltsverzeichnis
Small Programmes
Blanks are significant if among the last 8 characters before a tick, see proposal for formatting and comments
Test halt on overflow
As it is rather unusual that the machine stops on overflow, here is a small test program:
halt on overflow
;zzz0700'
/zzz0700'
00   b0016'   get start
01   a0017'   stops if overflow
     u0001'   loop
variables:
;zzz0716'
,zzz0002'
16 7ww00000'  start
17 00002000'  increment
go
.zzz0700'       
Hello
The follwing program to print Hello on the console is rather untypical:
Print Hello ; 0600' / 0600' xp1600' CR xz0000' sync xp0800' UC xz0000' xp4900' H xz0000' xp0400' LC xz0000' xp3700' e xz0000' xp0600' l = 1 xz0000' xp0600' l xz0000' xp3500' o xz0000' xz0800' pause unless Br8 u0000' repeat . 0600'
Simple Loop
Example looping program that prints a given number of asterisks:
simple loop
;   0900'
/   0900'
00  xp0800'	upper case
    xz0000'	sync
    xp1600'	CR
    xz0000'
     b0022'	start value
     u0007'	avoid data wait
06   b0020'	get counter 
07   s0021'	minus step 
     t0013'    done if negative
     h0020'	save
    xp1000'	print *
    xz0000'
     u0006'	repeat
13  xz0000'	halt
14   u0000'	restart
data:
;   0920'
,000  03'
20 00000000' counter
21 00000010' decrement
22 00000050' initial
start:
.   0900'
Printing all digits
The following example prints all characters in numerical sequence, all digits as an example. It shows how to modify instructions:
print 10 digits
;zzz0800'
/zzz0800'
00  xp0400'	lower case
    xz0000'
    xp1600'	CR
    xz0000'
04  xp0200'	print 0
    xz0000' 
     b0004'	last printed
     e0022'	mask char code
     a0020'	increment
     y0004'	save 
     s0021'	end?
     t0004'	no
12  xz0400'	stop for repeat  
     b0023'
     y0004'	start over
     u0000'
data area:
;zzz0820'
,zzz0004'
20 00000400' increment
21 00002700' last digit 9 = x26, plus 1
22 0000ww00' mask
23 00000200' digit 0 
start here:
.zzz0800'
Fill and clear a track
Fills a track with its sector numbers, and then clears the same track again.
To fill in physical order, use 0q4 in location 34; for logical order, use 004
If Break 4 is not set, the programme waits before clear; 
if Break 8 is not set, it waits after clear before repeat.
 fill and clear a track in physical order
;zzz0400'
/zzz0400'
00   c0033'    clear acc
     c0033'    clear sector
02   b0033'    get sector
     a0032'    add track
     y0005'    set destination
05   hzzzz'    store
     a0034'    advance
     e0035'    mask sector
     h0033'    save
     s0036'    ? >0
     t0012'    no, done
     u0002'    yes, repeat
12   z0400'    pause unless BR4
     c0033'    clear track
     c0033'
15   b0033'
     a0032'
     y0019'
     c0037'    discard and clear
19   hzzzz'    clear mem
     b0033'
     a0034'
     e0035'
     h0033'
     s0036'    ? >0
     t0027'    no, done, again
     u0015'    yes, repeat
27   z0800'    pause unless BR8
     u0000'
data area:
;zzz0432'
,zzz0006'
32 00002100' track to fill
33 00000000' current sector
34 000000q4' sector increment
35 000000wj' sector mask
36 00000002' to test for zero
37 00000000' trash to clear acc
start here:
.zzz0400'
