	AREA	|C$$code|, CODE, READONLY
	
	
XOS_Bit	EQU &020000
OS_File	EQU &000008
	
	
	EXPORT	Desk_Debug_DumpRegistersToFile
Desk_Debug_DumpRegistersToFile

	STR	r0, regs
	STR	r1, regs+4
	STR	r2, regs+8
	STR	r3, regs+12
	STR	r4, regs+16
	STR	r5, regs+20
	STR	r6, regs+24
	STR	r7, regs+28
	STR	r8, regs+32
	STR	r9, regs+36
	STR	r10, regs+40
	STR	r11, regs+44
	STR	r12, regs+48
	STR	r13, regs+52
	STR	r14, regs+56
	STR	r15, regs+60
	
	MOV	r0, #10
	ADR	r1, name
	
	MOV	r2, #0xff
	ADD	r2, r2, #0xf00
	
	ADR	r4, regs
	ADR	r5, regs+4*16
	
	; Increment filename number...
	LDR	r6, number
	ADD	r6, r6, #1
	
	ADR     r8, hex
	
	AND	r7, r6, #&0f
	LDR	r7, [ r8, r7]
	STRB	r7, namenumber+1
	
	MOV	r7, r6, LSR #4
	AND	r7, r7, #&0f
	LDR	r7, [ r8, r7]
	STRB	r7, namenumber
	
	SWI	OS_File+XOS_Bit
	
	LDR	r0, regs
	LDR	r1, regs+4
	LDR	r2, regs+8
	LDR	r3, regs+12
	LDR	r4, regs+16
	LDR	r5, regs+20
	LDR	r6, regs+24
	LDR	r7, regs+28
	LDR	r8, regs+32
	LDR	r9, regs+36
	LDR	r10, regs+40
	LDR	r11, regs+44
	LDR	r12, regs+48
	LDR	r13, regs+52
	LDR	r14, regs+56
	
	MOVS	pc, lr
regs
	DCD	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
	
name
	DCB	"<Wimp$ScrapDir>.regs"
namenumber
	DCB	"00", 0
namenumberend

number	DCD	0

hex	DCB	"0123456789abcdef"
	END
