stabregi.inc 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. {*****************************************************************************}
  2. { File : stabregi.inc }
  3. { Author : Mazen NEIFER }
  4. { Project : Free Pascal Compiler (FPC) }
  5. { Creation date : 2002\08\22 }
  6. { Last modification date : 2002\08\22 }
  7. { Licence : GPL }
  8. { Bug report : [email protected] }
  9. {*****************************************************************************}
  10. 0{R_NO}
  11. {General purpose global registers}
  12. ,1{R_G0}{This register is usually set to zero and used as a scratch register}
  13. ,2{R_G1},3{R_G2},4{R_G3},5{R_G4},6{R_G5},7{R_G6},8{R_G7}
  14. {General purpose out registers}
  15. ,9{R_O0},10{R_O1},11{R_O2},12{R_O3},13{R_O4},14{R_O5},15{R_O6}
  16. ,16{R_O7}{This register is used to save the address of the last CALL instruction}
  17. {General purpose local registers}
  18. ,16{R_L0}
  19. ,17{R_L1}{This register is used to save the Program Counter (PC) after a Trap}
  20. ,18{R_L2}{This register is used to save the Program Counter (nPC) after a Trap}
  21. ,19{R_L3},20{R_L4},21{R_L5},22{R_L6},23{R_L7}
  22. {General purpose in registers}
  23. ,24{R_I0},25{R_I1},26{R_I2},27{R_I3},28{R_I4},29{R_I5},30{R_I6},31{R_I7}
  24. {Floating point registers}
  25. ,32{R_F0},33{R_F1},34{R_F2},35{R_F3},36{R_F4},37{R_F5},38{R_F6},39{R_F7}
  26. ,40{R_F8},41{R_F9},42{R_F10},43{R_F11},44{R_F12},45{R_F13},46{R_F14},47{R_F15}
  27. ,48{R_F16},49{R_F17},50{R_F18},51{R_F19},52{R_F20},53{R_F21},54{R_F22},55{R_F23}
  28. ,56{R_F24},57{R_F25},58{R_F26},59{R_F27},60{R_F28},61{R_F29},62{R_F30},63{R_F31}
  29. {Floating point status/"front of queue" registers}
  30. ,64{R_FSR},65{R_FQ}
  31. {Coprocessor registers}
  32. ,66{R_C0},67{R_C1},68{R_C2},69{R_C3},70{R_C4},71{R_C5},72{R_C6},73{R_C7}
  33. ,74{R_C8},75{R_C9},76{R_C10},77{R_C11},78{R_C12},79{R_C13},80{R_C14},81{R_C15}
  34. ,82{R_C16},83{R_C17},84{R_C18},85{R_C19},86{R_C20},87{R_C21},88{R_C22},89{R_C23}
  35. ,90{R_C24},91{R_C25},92{R_C26},93{R_C27},94{R_C28},95{R_C29},96{R_C30},98{R_C31}
  36. {Coprocessor status/queue registers}
  37. ,99{R_CSR}
  38. ,100{R_CQ}
  39. {Integer Unit control & status registers}
  40. ,101{R_PSR}{Processor Status Register : informs upon the program status}
  41. ,102{R_TBR}{Trap Base Register : saves the Trap vactor base address}
  42. ,103{R_WIM}{Window Invalid Mask : }
  43. ,104{R_Y}{Multiply/Devide Register : }
  44. {Ancillary State Registers : these are implementation dependent registers and
  45. thus, are not specified by the SPARC Reference Manual. I did choose the SUN's
  46. implementation according to the Assembler Refernce Manual.(MN)}
  47. ,105{R_ASR0},106{R_ASR1},107{R_ASR2},108{R_ASR3},109{R_ASR4},110{R_ASR5},111{R_ASR6},112{R_ASR7}
  48. ,113{R_ASR8},114{R_ASR9},115{R_ASR10},116{R_ASR11},117{R_ASR12},118{R_ASR13},119{R_ASR14},120{R_ASR15}
  49. ,121{R_ASR16},122{R_ASR17},123{R_ASR18},124{R_ASR19},125{R_ASR20},126{R_ASR21},128{R_ASR22},129{R_ASR23}
  50. ,130{R_ASR24},131{R_ASR25},132{R_ASR26},133{R_ASR27},134{R_ASR28},135{R_ASR29},136{R_ASR30},137{R_ASR31}