v.out.h 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  1. #define NSNAME 8
  2. #define NSYM 50
  3. #define NREG 32
  4. #define NOPROF (1<<0)
  5. #define DUPOK (1<<1)
  6. #define REGZERO 0
  7. #define REGRET 1
  8. #define REGARG 1
  9. /* compiler allocates R1 up as temps */
  10. /* compiler allocates register variables R3-R23 */
  11. #define REGEXT 25
  12. /* compiler allocates external registers R25 down */
  13. /* dont use R26 R27 */
  14. #define REGTMP 28
  15. #define REGSP 29
  16. #define REGSB 30
  17. #define REGLINK 31
  18. #define FREGRET 0
  19. /* compiler allocates register variables F4-F22 */
  20. /* compiler allocates external registers F22 down */
  21. #define FREGEXT 22
  22. #define FREGZERO 24 /* both float and double */
  23. #define FREGHALF 26 /* double */
  24. #define FREGONE 28 /* double */
  25. #define FREGTWO 30 /* double */
  26. enum as
  27. {
  28. AXXX,
  29. AABSD,
  30. AABSF,
  31. AABSW,
  32. AADD,
  33. AADDD,
  34. AADDF,
  35. AADDU,
  36. AADDW,
  37. AAND,
  38. ABEQ,
  39. ABFPF,
  40. ABFPT,
  41. ABGEZ,
  42. ABGEZAL,
  43. ABGTZ,
  44. ABLEZ,
  45. ABLTZ,
  46. ABLTZAL,
  47. ABNE,
  48. ABREAK,
  49. ACMPEQD,
  50. ACMPEQF,
  51. ACMPGED,
  52. ACMPGEF,
  53. ACMPGTD,
  54. ACMPGTF,
  55. ADATA,
  56. ADIV,
  57. ADIVD,
  58. ADIVF,
  59. ADIVU,
  60. ADIVW,
  61. AGLOBL,
  62. AGOK,
  63. AHISTORY,
  64. AJAL,
  65. AJMP,
  66. AMOVB,
  67. AMOVBU,
  68. AMOVD,
  69. AMOVDF,
  70. AMOVDW,
  71. AMOVF,
  72. AMOVFD,
  73. AMOVFW,
  74. AMOVH,
  75. AMOVHU,
  76. AMOVW,
  77. AMOVWD,
  78. AMOVWF,
  79. AMOVWL,
  80. AMOVWR,
  81. AMUL,
  82. AMULD,
  83. AMULF,
  84. AMULU,
  85. AMULW,
  86. ANAME,
  87. ANEGD,
  88. ANEGF,
  89. ANEGW,
  90. ANOP,
  91. ANOR,
  92. AOR,
  93. AREM,
  94. AREMU,
  95. ARET,
  96. ARFE,
  97. ASGT,
  98. ASGTU,
  99. ASLL,
  100. ASRA,
  101. ASRL,
  102. ASUB,
  103. ASUBD,
  104. ASUBF,
  105. ASUBU,
  106. ASUBW,
  107. ASYSCALL,
  108. ATEXT,
  109. ATLBP,
  110. ATLBR,
  111. ATLBWI,
  112. ATLBWR,
  113. AWORD,
  114. AXOR,
  115. AEND,
  116. AMOVV,
  117. AMOVVL,
  118. AMOVVR,
  119. ASLLV,
  120. ASRAV,
  121. ASRLV,
  122. ADIVV,
  123. ADIVVU,
  124. AREMV,
  125. AREMVU,
  126. AMULV,
  127. AMULVU,
  128. AADDV,
  129. AADDVU,
  130. ASUBV,
  131. ASUBVU,
  132. ADYNT,
  133. AINIT,
  134. ABCASE,
  135. ACASE,
  136. ATRUNCFV,
  137. ATRUNCDV,
  138. ATRUNCFW,
  139. ATRUNCDW,
  140. AMOVWU,
  141. AMOVFV,
  142. AMOVDV,
  143. AMOVVF,
  144. AMOVVD,
  145. ASIGNAME,
  146. ALAST,
  147. };
  148. /* type/name */
  149. #define D_GOK 0
  150. #define D_NONE 1
  151. /* type */
  152. #define D_BRANCH (D_NONE+1)
  153. #define D_OREG (D_NONE+2)
  154. #define D_EXTERN (D_NONE+3) /* name */
  155. #define D_STATIC (D_NONE+4) /* name */
  156. #define D_AUTO (D_NONE+5) /* name */
  157. #define D_PARAM (D_NONE+6) /* name */
  158. #define D_CONST (D_NONE+7)
  159. #define D_FCONST (D_NONE+8)
  160. #define D_SCONST (D_NONE+9)
  161. #define D_HI (D_NONE+10)
  162. #define D_LO (D_NONE+11)
  163. #define D_REG (D_NONE+12)
  164. #define D_FREG (D_NONE+13)
  165. #define D_FCREG (D_NONE+14)
  166. #define D_MREG (D_NONE+15)
  167. #define D_FILE (D_NONE+16)
  168. #define D_OCONST (D_NONE+17)
  169. #define D_FILE1 (D_NONE+18)
  170. #define D_VCONST (D_NONE+19)
  171. /*
  172. * this is the ranlib header
  173. */
  174. #define SYMDEF "__.SYMDEF"
  175. /*
  176. * this is the simulated IEEE floating point
  177. */
  178. typedef struct ieee Ieee;
  179. struct ieee
  180. {
  181. long l; /* contains ls-man 0xffffffff */
  182. long h; /* contains sign 0x80000000
  183. exp 0x7ff00000
  184. ms-man 0x000fffff */
  185. };