PREFIX :print: i IS $255 Parameter n IS $1 str IS $2 r IS $3 MAX IS 4*8 Buffer OCTA 0 LOC Buffer+MAX int GETA str,Buffer+MAX SET r,0 SUB str,str,1 STB r,str,0 NEG n,i CSNN n,i,i 1H DIV n,n,10 GET r,:rR ADD r,r,'0' SUB str,str,1 STBU r,str,0 PBP n,1B PBNN i,1F SET r,'-' SUB str,str,1 STB r,str,0 1H SET $255,str TRAP 0,:Fputs,:StdOut POP 0,0 char GETA str,Buffer STB $255,str,0 SET $0,0 STB $0,str,1 SET $255,str TRAP 0,:Fputs,:StdOut POP 0,0 nl SET $255,10 JMP char space SET $255,' ' JMP char tab SET $255,9 JMP char PREFIX : [[GLOBAL printi SET $255,[[1]]; PUSHJ $255,:print:int]] [[GLOBAL printO LDO $255,[[1]]; PUSHJ $255,:print:int]] [[GLOBAL printT LDT $255,[[1]]; PUSHJ $255,:print:int]] [[GLOBAL printW LDW $255,[[1]]; PUSHJ $255,:print:int]] [[GLOBAL printB LDB $255,[[1]]; PUSHJ $255,:print:int]] [[GLOBAL printc SET $255,[[1]]; PUSHJ $255,:print:char]] [[GLOBAL printsp SET $255,' '; PUSHJ $255,:print:char]] [[GLOBAL printnl SET $255,10; PUSHJ $255,:print:char]] [[GLOBAL printtab SET $255,9; PUSHJ $255,:print:char]]