home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ARM Club 3
/
TheARMClub_PDCD3.iso
/
hensa
/
misc
/
tracker_1
/
Tracker
/
AsmLib
/
s
/
DebugHdr
< prev
Wrap
Text File
|
1994-12-13
|
3KB
|
114 lines
; s.DebugHdr
GBLL Debug
DebugOn * 1 :SHL: 0
UseVDU * 1 :SHL: 1
UseTracker * 1 :SHL: 2
UseBeeb * 1 :SHL: 3
UseRAM * 1 :SHL: 4
MACRO
$label DBF $argstr, $cc
[ Debug
IMPORT DebugF
$label
[ "$cc" <> ""
B$cc %ft10
B %ft20
]
10 STMFD sp!, {lr, pc}
BL DebugF
= "$argstr", 0
ALIGN
LDR lr, [sp], #8
20
|
$label
]
MEND
MACRO
$label DBFIF $cond, $argstr
[ $cond
$label DBF $argstr
|
$label
]
MEND
MACRO
$label DBFLAGS $and, $eor, $cc
[ Debug
IMPORT DebugFlags
$label STM$cc.FD sp!, {r0-r2, lr}
MOV$cc r1, #$and
MOV$cc r0, #$eor
BL$cc DebugFlags
LDM$cc.FD sp!, {r0-r2, lr}
|
$label
]
MEND
MACRO
$label DBON $cc
$label DBFLAGS :NOT: DebugOn, DebugOn, $cc
MEND
MACRO
$label DBOFF $cc
$label DBFLAGS :NOT: DebugOn, 0, $cc
MEND
MACRO
$label DBSET $flags, $cc
$label DBFLAGS 0, $flags, $cc
MEND
MACRO
$label DBREGS
$label DBF " %0w %1w %2w %3w %4w %5w\n %6w %7w %8w %9w %aw %bw\n %cw %dw %ew %fp\n"
MEND
MACRO
$label DBBACK $cc
$label
IMPORT DebugBacktrace
BL$cc DebugBacktrace
MEND
MACRO
$label DBPALETTE $log, $mode, $red, $green, $blue
$label
[ Debug
STMFD sp!, {r0-r1, r8-r9, lr}
MOV r8, pc
ORR r9, r8, #S0_bit :OR: S1_bit ; Force SVC mode
TEQP r9, #0
MOV r0, r0
STMFD sp!, {r8, lr} ; Save old PC, LR
; Now build parameters on stack
MOV r0, #($log )
ORR r0, r0, #($mode ) :SHL: 8
ORR r0, r0, #($red ) :SHL: 16
ORR r0, r0, #($green) :SHL: 24
MOV r1, #($blue )
STMFD sp!, {r0-r1}
MOV r0, #12
MOV r1, sp
SWI &07 ; OS_Word
ADD sp, sp, #word * 2
LDMFD sp!, {r8, lr}
TEQP r8, #0
MOV r0, r0
LDMFD sp!, {r0-r1, r8-r9, lr}
]
MEND
END