home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / hensa / misc / tracker_1 / Tracker / AsmLib / s / DebugHdr < prev   
Text File  |  1994-12-13  |  3KB  |  114 lines

  1. ; s.DebugHdr
  2.  
  3.                 GBLL            Debug
  4.  
  5. DebugOn         *               1 :SHL: 0
  6. UseVDU          *               1 :SHL: 1
  7. UseTracker      *               1 :SHL: 2
  8. UseBeeb         *               1 :SHL: 3
  9. UseRAM          *               1 :SHL: 4
  10.  
  11.                 MACRO
  12. $label          DBF             $argstr, $cc
  13.                 [               Debug
  14.                 IMPORT          DebugF
  15. $label
  16.  
  17.                 [               "$cc" <> ""
  18.                 B$cc            %ft10
  19.                 B               %ft20
  20.                 ]
  21.  
  22. 10              STMFD           sp!, {lr, pc}
  23.                 BL              DebugF
  24.                 =               "$argstr", 0
  25.                 ALIGN
  26.                 LDR             lr, [sp], #8
  27. 20
  28.                 |
  29. $label
  30.                 ]
  31.                 MEND
  32.  
  33.                 MACRO
  34. $label          DBFIF           $cond, $argstr
  35.                 [               $cond
  36. $label          DBF             $argstr
  37.                 |
  38. $label
  39.                 ]
  40.                 MEND
  41.  
  42.                 MACRO
  43. $label          DBFLAGS         $and, $eor, $cc
  44.                 [               Debug
  45.                 IMPORT          DebugFlags
  46. $label          STM$cc.FD       sp!, {r0-r2, lr}
  47.                 MOV$cc          r1, #$and
  48.                 MOV$cc          r0, #$eor
  49.                 BL$cc           DebugFlags
  50.                 LDM$cc.FD       sp!, {r0-r2, lr}
  51.                 |
  52. $label
  53.                 ]
  54.                 MEND
  55.  
  56.                 MACRO
  57. $label          DBON            $cc
  58. $label          DBFLAGS         :NOT: DebugOn, DebugOn, $cc
  59.                 MEND
  60.  
  61.                 MACRO
  62. $label          DBOFF           $cc
  63. $label          DBFLAGS         :NOT: DebugOn, 0, $cc
  64.                 MEND
  65.  
  66.                 MACRO
  67. $label          DBSET           $flags, $cc
  68. $label          DBFLAGS         0, $flags, $cc
  69.                 MEND
  70.  
  71.                 MACRO
  72. $label          DBREGS
  73. $label          DBF             " %0w %1w %2w %3w %4w %5w\n %6w %7w %8w %9w %aw %bw\n %cw %dw %ew %fp\n"
  74.                 MEND
  75.  
  76.                 MACRO
  77. $label          DBBACK          $cc
  78. $label
  79.                 IMPORT          DebugBacktrace
  80.                 BL$cc           DebugBacktrace
  81.                 MEND
  82.  
  83.                 MACRO
  84. $label          DBPALETTE       $log, $mode, $red, $green, $blue
  85. $label
  86.                 [               Debug
  87.                 STMFD           sp!, {r0-r1, r8-r9, lr}
  88.                 MOV             r8, pc
  89.                 ORR             r9, r8, #S0_bit :OR: S1_bit  ; Force SVC mode
  90.                 TEQP            r9, #0
  91.                 MOV             r0, r0
  92.                 STMFD           sp!, {r8, lr}   ; Save old PC, LR
  93.  
  94. ; Now build parameters on stack
  95.  
  96.                 MOV             r0, #($log )
  97.                 ORR             r0, r0, #($mode ) :SHL: 8
  98.                 ORR             r0, r0, #($red ) :SHL: 16
  99.                 ORR             r0, r0, #($green) :SHL: 24
  100.                 MOV             r1, #($blue )
  101.                 STMFD           sp!, {r0-r1}
  102.                 MOV             r0, #12
  103.                 MOV             r1, sp
  104.                 SWI             &07             ; OS_Word
  105.                 ADD             sp, sp, #word * 2
  106.                 LDMFD           sp!, {r8, lr}
  107.                 TEQP            r8, #0
  108.                 MOV             r0, r0
  109.                 LDMFD           sp!, {r0-r1, r8-r9, lr}
  110.                 ]
  111.                 MEND
  112.  
  113.                 END
  114.