* * SBasic compiler (version 2.5) for the 68HC11/68HC12 * * Invocation: C:\LEPPARD\ROBOTA~1\SBASIC\SBASIC.EXE speed12.bas /s0bff /c8000 /v0800 /m6812 /i * Date/time: Sat Nov 14 06:51:01 1998 * MCU: 68HC12 * varbeg equ $0800 codebeg equ $8000 stkbeg equ $0bff org codebeg start of code _codeorg equ * start #include start12.lib jmp lbl999 * speed12.bas(1): ' SPEED12.BAS, test for 68hc912b32 * speed12.bas(2): * speed12.bas(3): include "regs12.lib" * ------------------------------------ * Opened include file regs12.lib * regs12.lib(1): const ioregs = $0000 ' start of io regs * regs12.lib(2): const porta = ioregs + $00 ' i/o port a * regs12.lib(3): const portb = ioregs + $01 ' i/o port b * regs12.lib(4): const ddra = ioregs + $02 ' data direction reg a * regs12.lib(5): const ddrb = ioregs + $03 ' data direction reg b * regs12.lib(6): const porte = ioregs + $08 ' i/o port e * regs12.lib(7): const ddre = ioregs + $09 ' data direction reg e * regs12.lib(8): const pear = ioregs + $0a ' pear * regs12.lib(9): const mode = ioregs + $0b ' mode * regs12.lib(10): const pucr = ioregs + $0c ' pucr * regs12.lib(11): const rdriv = ioregs + $0d ' rdriv * regs12.lib(12): const initrm = ioregs + $10 ' initrm * regs12.lib(13): const initrg = ioregs + $11 ' initrg * regs12.lib(14): const initee = ioregs + $12 ' initee * regs12.lib(15): const misc = ioregs + $13 ' misc * regs12.lib(16): const rtictl = ioregs + $14 ' rtictl * regs12.lib(17): const rtiflg = ioregs + $15 ' rtiflg * regs12.lib(18): const copctl = ioregs + $16 ' copctl * regs12.lib(19): const coprst = ioregs + $17 ' coprst * regs12.lib(20): const itst0 = ioregs + $18 ' itst0 * regs12.lib(21): const itst1 = ioregs + $19 ' itst1 * regs12.lib(22): const itst2 = ioregs + $1a ' itst2 * regs12.lib(23): const itst3 = ioregs + $1b ' itst3 * regs12.lib(24): * regs12.lib(25): const intcr = ioregs + $1e ' intcr * regs12.lib(26): const hprio = ioregs + $1f ' hprio * regs12.lib(27): const brkct0 = ioregs + $20 ' brkct0 * regs12.lib(28): const brkct1 = ioregs + $21 ' brkct1 * regs12.lib(29): const brkah = ioregs + $22 ' brkah * regs12.lib(30): const brkal = ioregs + $23 ' brkal * regs12.lib(31): const brkdh = ioregs + $24 ' brkdh * regs12.lib(32): const brkdl = ioregs + $25 ' brkdl * regs12.lib(33): * regs12.lib(34): const pwclk = ioregs + $40 ' pwclk * regs12.lib(35): const pwpol = ioregs + $41 ' pwpol * regs12.lib(36): const pwen = ioregs + $42 ' pwen * regs12.lib(37): const pwpres = ioregs + $43 ' pwpres * regs12.lib(38): const pwscal0 = ioregs + $44 ' pwscal0 * regs12.lib(39): const pwscnt0 = ioregs + $45 ' pwscnt0 * regs12.lib(40): const pwscal1 = ioregs + $46 ' pwscal1 * regs12.lib(41): const pwscnt1 = ioregs + $47 ' pwscnt1 * regs12.lib(42): const pwscal2 = ioregs + $48 ' pwscal2 * regs12.lib(43): const pwscnt2 = ioregs + $49 ' pwscnt2 * regs12.lib(44): const pwscal3 = ioregs + $4a ' pwscal3 * regs12.lib(45): const pwscnt3 = ioregs + $4b ' pwscnt3 * regs12.lib(46): const pwper0 = ioregs + $4c ' pwper0 * regs12.lib(47): const pwper1 = ioregs + $4d ' pwper1 * regs12.lib(48): const pwper2 = ioregs + $4e ' pwper2 * regs12.lib(49): const pwper3 = ioregs + $4f ' pwper3 * regs12.lib(50): const pwdty0 = ioregs + $50 ' pwdty0 * regs12.lib(51): const pwdty1 = ioregs + $51 ' pwdty1 * regs12.lib(52): const pwdty2 = ioregs + $52 ' pwdty2 * regs12.lib(53): const pwdty3 = ioregs + $53 ' pwdty3 * regs12.lib(54): const pwctl = ioregs + $54 ' pwctl * regs12.lib(55): const pwtst = ioregs + $55 ' pwtst * regs12.lib(56): const portp = ioregs + $56 ' portp * regs12.lib(57): const ddrp = ioregs + $57 ' ddrp * regs12.lib(58): * regs12.lib(59): const atdctl0 = ioregs + $60 ' atdctl0 * regs12.lib(60): const atdctl1 = ioregs + $61 ' atdctl1 * regs12.lib(61): const atdctl2 = ioregs + $62 ' atdctl2 * regs12.lib(62): const atdctl3 = ioregs + $63 ' atdctl3 * regs12.lib(63): const atdctl4 = ioregs + $64 ' atdctl4 * regs12.lib(64): const atdctl5 = ioregs + $65 ' atdctl5 * regs12.lib(65): const atdstat = ioregs + $66 ' atdstat (word) * regs12.lib(66): * regs12.lib(67): const atdtsth = ioregs + $68 ' atdtsth * regs12.lib(68): const atdtstl = ioregs + $69 ' atdtstl * regs12.lib(69): * regs12.lib(70): const portad = ioregs + $6f ' portad * regs12.lib(71): const adr0h = ioregs + $70 ' adr0h (word) * regs12.lib(72): const adr1h = ioregs + $72 ' adr1h (word) * regs12.lib(73): const adr2h = ioregs + $74 ' adr2h (word) * regs12.lib(74): const adr3h = ioregs + $76 ' adr3h (word) * regs12.lib(75): const adr4h = ioregs + $78 ' adr4h (word) * regs12.lib(76): const adr5h = ioregs + $7a ' adr5h (word) * regs12.lib(77): const adr6h = ioregs + $7c ' adr6h (word) * regs12.lib(78): const adr7h = ioregs + $7e ' adr7h (word) * regs12.lib(79): const tios = ioregs + $80 ' tios * regs12.lib(80): const cforc = ioregs + $81 ' cforc * regs12.lib(81): const oc7m = ioregs + $82 ' oc7m * regs12.lib(82): const oc7d = ioregs + $83 ' oc7d * regs12.lib(83): const tcnt = ioregs + $84 ' tcnt (word) * regs12.lib(84): * regs12.lib(85): const tscr = ioregs + $86 ' tscr * regs12.lib(86): const tqcr = ioregs + $87 ' tqcr * regs12.lib(87): const tctl1 = ioregs + $88 ' tctl1 * regs12.lib(88): const tctl2 = ioregs + $89 ' tctl2 * regs12.lib(89): const tctl3 = ioregs + $8a ' tctl3 * regs12.lib(90): const tctl4 = ioregs + $8b ' tctl4 * regs12.lib(91): const tmsk1 = ioregs + $8c ' tmsk1 * regs12.lib(92): const tmsk2 = ioregs + $8d ' tmsk2 * regs12.lib(93): const tflg1 = ioregs + $8e ' tflg1 * regs12.lib(94): const tflg2 = ioregs + $8f ' tflg2 * regs12.lib(95): const tc0 = ioregs + $90 ' tc0 (word) * regs12.lib(96): const tc1 = ioregs + $92 ' tc1 (word) * regs12.lib(97): const tc2 = ioregs + $94 ' tc2 (word) * regs12.lib(98): const tc3 = ioregs + $96 ' tc3 (word) * regs12.lib(99): const tc4 = ioregs + $98 ' tc4 (word) * regs12.lib(100): const tc5 = ioregs + $9a ' tc5 (word) * regs12.lib(101): const tc6 = ioregs + $9c ' tc6 (word) * regs12.lib(102): const tc7 = ioregs + $9e ' tc7 (word) * regs12.lib(103): const pactl = ioregs + $a0 ' pulse accum control * regs12.lib(104): const paflg = ioregs + $a1 ' pulse accum flags * regs12.lib(105): const pacnt = ioregs + $a2 ' pulse accum count (word) * regs12.lib(106): * regs12.lib(107): const timtst = ioregs + $ad ' timtst * regs12.lib(108): const portt = ioregs + $ae ' portt * regs12.lib(109): const ddrt = ioregs + $af ' ddrt * regs12.lib(110): * regs12.lib(111): const sc0bdh = ioregs + $c0 ' sc0bdh * regs12.lib(112): const sc0bdl = ioregs + $c1 ' sc0bdl * regs12.lib(113): const sc0cr1 = ioregs + $c2 ' sc0cr1 * regs12.lib(114): const sc0cr2 = ioregs + $c3 ' sc0cr2 * regs12.lib(115): const sc0sr1 = ioregs + $c4 ' sc0sr1 * regs12.lib(116): const sc0sr2 = ioregs + $c5 ' sc0sr2 * regs12.lib(117): const sc0drh = ioregs + $c6 ' sc0drh * regs12.lib(118): const sc0drl = ioregs + $c7 ' sc0drl * regs12.lib(119): * regs12.lib(120): const sp0cr1 = ioregs + $d0 ' sp0cr1 * regs12.lib(121): const sp0cr2 = ioregs + $d1 ' sp0cr2 * regs12.lib(122): const sp0br = ioregs + $d2 ' sp0br * regs12.lib(123): const sp0sr = ioregs + $d3 ' sp0sr * regs12.lib(124): * regs12.lib(125): const sp0dr = ioregs + $d5 ' sp0dr * regs12.lib(126): const ports = ioregs + $d6 ' ports * regs12.lib(127): const ddrs = ioregs + $d7 ' ddrs * regs12.lib(128): * regs12.lib(129): const purds = ioregs + $db ' purds * regs12.lib(130): * regs12.lib(131): const eemcr = ioregs + $f0 ' eemcr * regs12.lib(132): const eeprot = ioregs + $f1 ' eeprot * regs12.lib(133): const eetst = ioregs + $f2 ' eetst * regs12.lib(134): const eeprog = ioregs + $f3 ' eeprog * regs12.lib(135): const feelck = ioregs + $f4 ' feelck * regs12.lib(136): const feemcr = ioregs + $f5 ' feemcr * regs12.lib(137): const feetst = ioregs + $f6 ' feetst * regs12.lib(138): const feectl = ioregs + $f7 ' feectl * regs12.lib(139): const bcr1 = ioregs + $f8 ' bcr1 * regs12.lib(140): const bsvr = ioregs + $f9 ' bsvr * regs12.lib(141): const bcr2 = ioregs + $fa ' bcr2 * regs12.lib(142): const bdr = ioregs + $fb ' bdr * regs12.lib(143): const bard = ioregs + $fc ' bard * regs12.lib(144): const dlscr = ioregs + $fd ' dlcsr * regs12.lib(145): const portdlc = ioregs + $fe ' portdlc * regs12.lib(146): const ddrdlc = ioregs + $ff ' ddrdlc * regs12.lib(147): * Closed include file regs12.lib * ------------------------------------ * speed12.bas(4): declare n var000 equ varbeg+0 variable n * speed12.bas(5): ' org $8000 lbl000 lbl999 * speed12.bas(6): Main: * speed12.bas(7): pokeb copctl,$08 'diable COP resets and clock ldd #$0008 stab $0016 * speed12.bas(8): poke sc0bdh,52 '9600 baud ldd #$0034 std $00c0 * speed12.bas(9): pokeb sc0cr1,0 '8 bits no parity n1 stop ldd #$0000 stab $00c2 * speed12.bas(10): pokeb sc0cr2,$0c 'enable xmtr and rcvr ldd #$000c stab $00c3 * speed12.bas(11): print jsr _prtnl * speed12.bas(12): print "speed 12"\ jsr _prtstrc fcb str000-*-1 fcc "speed 12" str000 * speed12.bas(13): pokeb ddrb,1 'make PBO output ldd #$0001 stab $0003 * speed12.bas(14): pokeb pucr,2 'enable port B pullups ldd #$0002 stab $000c * speed12.bas(15): do do000 * speed12.bas(16): pokeb portb, peekb(portb) xor 1 clra ldab $0001 eora #$00 eorb #$01 stab $0001 * speed12.bas(17): for n=0 to* $fffe ldd #$0000 std var000 for000 ldd var000 cpd #$fffe bgt for001 * speed12.bas(18): next ldd #$0001 addd var000 std var000 jmp for000 for001 * speed12.bas(19): loop jmp do000 do001 * speed12.bas(20): end bra * * speed12.bas(21): * speed12.bas(22): #include prtstrc.lib #include prtnl.lib #include outch12.lib end