regname.h File Reference

Human-friendly register names. More...

Go to the source code of this file.

MIPS R4000 CP0 registers

#define index   0
#define random   1
#define entrylo0   2
#define entrylo1   3
#define context   4
#define pagemask   5
#define wired   6
#define badvaddr   8
#define count   9
#define entryhi   10
#define compare   11
#define status   12
#define cause   13
#define epc   14
#define config   16
#define lladdr   17
#define xcontext   20
#define eepc   30

Defines

#define zero   0
#define at   1
#define v0   2
#define v1   3
#define a0   4
#define a1   5
#define a2   6
#define a3   7
#define t0   8
#define t1   9
#define t2   10
#define t3   11
#define t4   12
#define t5   13
#define t6   14
#define t7   15
#define s0   16
#define s1   17
#define s2   18
#define s3   19
#define s4   20
#define s5   21
#define s6   22
#define s7   23
#define t8   24
#define t9   25
#define gp   28
#define sp   29
#define fp   30
#define ra   31
#define k0   26
#define k1   27


Detailed Description

Human-friendly register names.


Define Documentation

#define a0   4

function arguments

#define a1   5

See also:
a0

#define a2   6

See also:
a0

#define a3   7

See also:
a0

#define at   1

Register no 1 is used by the assembler macros as a temporary register. Assembler temporary (at) can be also used as a normal register when the ".set noat" pseudo op-code is specified.

#define badvaddr   8

Bad Virtual Address Register

#define cause   13

Cause Register

#define compare   11

Compare Register

#define config   16

Config Register

#define context   4

Context Register

#define count   9

Count Register

#define eepc   30

Error Exception Program Counter Register

#define entryhi   10

EntryHi Register

#define entrylo0   2

EntryLo0 Register

#define entrylo1   3

EntryLo1 Register

#define epc   14

Exception Program Counter Register

#define fp   30

pointer to frame

#define gp   28

pointer to global

#define index   0

Index Register

#define k0   26

Registers 26 and 27 (k0 and k1) are reserved for the operating system. Their context may be randomly overwritten and the application should not use them.

#define k1   27

See also:
k0

#define lladdr   17

Load Linked Address Register

#define pagemask   5

PageMask Register

#define ra   31

Register no 31 is used by the jump-linked instructions as a pointer to the next (return) instruction. Note that it is up to calling code to do not lost it.

#define random   1

Random Register

#define s0   16

See also:
t0

#define s1   17

See also:
t0

#define s2   18

See also:
t0

#define s3   19

See also:
t0

#define s4   20

See also:
t0

#define s5   21

See also:
t0

#define s6   22

See also:
t0

#define s7   23

See also:
t0

#define sp   29

pointer to stack

#define status   12

Status Register

#define t0   8

temporary register

#define t1   9

See also:
t0

#define t2   10

See also:
t0

#define t3   11

See also:
t0

#define t4   12

See also:
t0

#define t5   13

See also:
t0

#define t6   14

See also:
t0

#define t7   15

See also:
t0

#define t8   24

See also:
t0

#define t9   25

See also:
t0

#define v0   2

a return value

#define v1   3

See also:
v0

#define wired   6

Wired Register

#define xcontext   20

XContext Register

#define zero   0

Register no 0 is always 0 for reading. It is so-called as a wired zero.


Generated on Wed Nov 15 17:25:44 2006 for Kalisto by  doxygen 1.4.7