powerpc 通用寄存器的作用

/* register definition */

/* volatile registers that are not saved cross subroutine calls */

#define p0 r3 /* argument register, volatile */
#define p1 r4 /* argument register, volatile */
#define p2 r5 /* argument register, volatile */
#define p3 r6 /* argument register, volatile */
#define p4 r7 /* argument register, volatile */
#define p5 r8 /* argument register, volatile */
#define p6 r9 /* argument register, volatile */
#define p7 r10 /* argument register, volatile */
#define glr0 r0 /* prologs(PO,EABI), epilogs, glink routines(EABI) /
    * language specific purpose(SVR4), volatile */
#define glr1 r11 /* prologs, epilogs, as Pascal environment pointer(EABI)
    * language specific purpous (SVR4)
    * calls by pointer, as Pascal environment(PO),
    * volatile */
#define glr2 r12 /* prologs, epilogs, glink routines, calls by
    * pointer(EABI), language specific purpouse (SVR4),
    * glue code, exception handling (PO), volatile */
#define retval0 r3 /* return register 0, volatile */
#define retval1 r4 /* return register 1, volatile */


/* non-volatile and dedicated registers saved across subroutine calls */

#define sp r1 /* stack pointer, dedicated */

#define t0 r14 /* temporary registers, non-volatile */
#define t1 r15 /* temporary registers, non-volatile */
#define t2 r16 /* temporary registers, non-volatile */
#define t3 r17 /* temporary registers, non-volatile */
#define t4 r18 /* temporary registers, non-volatile */
#define t5 r19 /* temporary registers, non-volatile */
#define t6 r20 /* temporary registers, non-volatile */
#define t7 r21 /* temporary registers, non-volatile */
#define t8 r22 /* temporary registers, non-volatile */
#define t9 r23 /* temporary registers, non-volatile */
#define t10 r24 /* temporary registers, non-volatile */
#define t11 r25 /* temporary registers, non-volatile */
#define t12 r26 /* temporary registers, non-volatile */
#define t13 r27 /* temporary registers, non-volatile */
#define t14 r28 /* temporary registers, non-volatile */
#define t15 r29 /* temporary registers, non-volatile */
#define t16 r30 /* temporary registers, non-volatile */
#define t17 r31 /* temporary registers, non-volatile */

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章