aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.asm/mips.inc
blob: cb0ba1fcdb762f99b83865793df6a441a0b8e8c5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
	comment "subroutine declare"
	.purgem gdbasm_declare
	.macro gdbasm_declare name
	.align	2
	.ent	\name
	.type	\name,@function
\name:
	.endm

	comment "subroutine prologue"
	.macro gdbasm_enter
	.frame	$fp, 32, $31
	.mask	0xd0000000,-4
	.set	noreorder
	.cpload	$25
	.set	reorder
	subu	$sp, $sp, 32
	.cprestore 16
	sw	$31, 28($sp)
	sw	$fp, 24($sp)
	sw	$28, 20($sp)
	move	$fp, $sp
	.endm

	comment "subroutine epilogue"
	.macro gdbasm_leave
	lw	$31, 28($sp)
	lw	$fp, 24($sp)
	.set	noreorder
	.set	nomacro
	j	$31
	addu	$sp, $sp, 32
	.set	macro
	.set	reorder
	.endm

	comment "subroutine end"
	.purgem gdbasm_end
	.macro gdbasm_end name
	.end	\name
	.endm

	.macro gdbasm_call subr
	la	$25, \subr
	jal	$31, $25
	.endm

	.macro gdbasm_several_nops
	nop
	nop
	nop
	nop
	.endm

	comment "exit (0)"
	.macro gdbasm_exit0
	comment "Don't know how to exit, but this will certainly halt..."
	lw 	$2, 0($0)
	.endm

	comment "crt0 startup"
	.macro gdbasm_startup
	move	$fp, $sp
	.endm