.TITLE CBTA MACRO .IDENT /X0.00/ .LIST ME,MD,MC,CND .NLIST TOC,SYM .MACRO CBTA BUF,VAL,RADX,SIGNED,ZSUP,BLKFIL,WDTH .MACRO IFNBNZ ARG,EXPR .IF NB,ARG .IIF NZ,ARG, $$$ARG=EXPR .ENDC .ENDM .IIF NB,BUF, MOV BUF,%0 .IF NB,VAL .IF IDN ,<#0> CLR %1 .IFF MOV VAL,%1 .ENDC .ENDC .IF NB,RADX'SIGNED'ZSUP'WDTH $$$ARG=^O1012 .IF NB,RADX .IIF LT RADX-2, .ERROR ; CBTA RADIX<2 .IIF GT RADX-36., .ERROR ; CBTA RADIX>36. $$$ARG=RADX&377!^O1000 .ENDC IFNBNZ ,<$$$ARG!^O400> IFNBNZ ,<$$$ARG&^C^O1000> IFNBNZ ,<$$$ARG!^O2000> .IF B,WDTH .ERROR ; NO WIDTH FOR CBTA .IFF .IIF GT,WDTH-32., .ERROR ; CBTA WIDTH>32. $$$ARG=WDTH*^O4000!$$$ARG .ENDC MOV #$$$ARG,%2 .ENDC JSR PC,$CBTA .ENDM .MCALL EXIT$S START: CBTA #BUFFER,#1234,8.,1,1,1,5 CBTA #BUFFER,#12345,16.,0,1,1,4 CBTA ,,10,,,,3 CBTA ,#0,,,,,6 CBTA #NEWBUF,FRED CBTA ,,50. CBTA ,,1 EXIT$S BUFFER: .BLKB 10. NEWBUF: .BLKB 10. FRED: .WORD 4321 .END START