sdk-core
v2026.11.05
PS2 SDK - core tier (build-critical EE/IOP modules)
Toggle main menu visibility
Loading...
Searching...
No Matches
as_reg_compat.h
Go to the documentation of this file.
1
/*
2
# _____ ___ ____ ___ ____
3
# ____| | ____| | | |____|
4
# | ___| |____ ___| ____| | \ PS2DEV Open Source Project.
5
#-----------------------------------------------------------------------
6
# Copyright 2001-2004, ps2dev - http://www.ps2dev.org
7
# Licenced under Academic Free License version 2.0
8
# Review ps2sdk README & LICENSE files for further details.
9
*/
10
16
17
#ifndef __AS_REG_COMPAT_H__
18
#define __AS_REG_COMPAT_H__
19
20
#ifdef _IOP
21
#define ABI_EABI64
22
#endif
23
24
#if !defined(ABI_EABI64) && !defined(ABI_N32)
25
// No ABI defined
26
#error "Must define ABI_EABI64 or ABI_N32"
27
#endif
28
29
#if defined(ABI_EABI64) && defined(ABI_N32)
30
// Both ABI's defined
31
#error "Must define ABI_EABI64 or ABI_N32"
32
#endif
33
34
#define zero 0
// Hardware zero
35
#define at 1
// Assembler temporary Caller-saved
36
#define v0 2
// Function results Caller-saved
37
#define v1 3
// Function results Caller-saved
38
#define a0 4
// Subprogram arguments Caller-saved
39
#define a1 5
// Subprogram arguments Caller-saved
40
#define a2 6
// Subprogram arguments Caller-saved
41
#define a3 7
// Subprogram arguments Caller-saved
42
43
#ifdef ABI_EABI64
44
#define a4 INVALID_REG
45
#define a5 INVALID_REG
46
#define a6 INVALID_REG
47
#define a7 INVALID_REG
48
#define t0 8
// Temporaries Caller-saved <- watch out!
49
#define t1 9
// Temporaries Caller-saved <- watch out!
50
#define t2 10
// Temporaries Caller-saved <- watch out!
51
#define t3 11
// Temporaries Caller-saved <- watch out!
52
#define t4 12
// Temporaries Caller-saved
53
#define t5 13
// Temporaries Caller-saved
54
#define t6 14
// Temporaries Caller-saved
55
#define t7 15
// Temporaries Caller-saved
56
#endif
57
58
#ifdef ABI_N32
59
#define a4 8
// Subprogram arguments Caller-saved
60
#define a5 9
// Subprogram arguments Caller-saved
61
#define a6 10
// Subprogram arguments Caller-saved
62
#define a7 11
// Subprogram arguments Caller-saved
63
#define t0 12
// Temporaries Caller-saved <- watch out!
64
#define t1 13
// Temporaries Caller-saved <- watch out!
65
#define t2 14
// Temporaries Caller-saved <- watch out!
66
#define t3 15
// Temporaries Caller-saved <- watch out!
67
#define t4 INVALID_REG
68
#define t5 INVALID_REG
69
#define t6 INVALID_REG
70
#define t7 INVALID_REG
71
#endif
72
73
#define s0 16
// Saved Callee-saved
74
#define s1 17
// Saved Callee-saved
75
#define s2 18
// Saved Callee-saved
76
#define s3 19
// Saved Callee-saved
77
#define s4 20
// Saved Callee-saved
78
#define s5 21
// Saved Callee-saved
79
#define s6 22
// Saved Callee-saved
80
#define s7 23
// Saved Callee-saved
81
#define t8 24
// Temporary Caller-saved
82
#define t9 25
// Temporary Caller-saved
83
#define k0 26
// Reserved for kernel
84
#define k1 27
// Reserved for kernel
85
#define gp 28
// Global pointer Callee-saved
86
#define sp 29
// Stack pointer Callee-saved
87
#define fp 30
// Frame pointer Callee-saved
88
#define ra 31
// Return address Caller-saved
89
90
#endif
/* __AS_REG_COMPAT_H__ */
core
common
include
as_reg_compat.h
Generated by
1.18.0