2.out.h 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532
  1. /*
  2. * This file is part of the UCB release of Plan 9. It is subject to the license
  3. * terms in the LICENSE file found in the top-level directory of this
  4. * distribution and at http://akaros.cs.berkeley.edu/files/Plan9License. No
  5. * part of the UCB release of Plan 9, including this file, may be copied,
  6. * modified, propagated, or distributed except according to the terms contained
  7. * in the LICENSE file.
  8. */
  9. #define NSYM 50
  10. #define NSNAME 8
  11. /* R0 is return */
  12. #define REGEXT 7
  13. /* A7 is sp A6 is sb */
  14. #define AREGEXT 5
  15. /* F0 is ret */
  16. #define FREGEXT 7
  17. enum as
  18. {
  19. AXXX = 0,
  20. AABCD,
  21. AADDB,
  22. AADDL,
  23. AADDW,
  24. AADDXB,
  25. AADDXL,
  26. AADDXW,
  27. AADJSP,
  28. AANDB,
  29. AANDL,
  30. AANDW,
  31. AASLB,
  32. AASLL,
  33. AASLW,
  34. AASRB,
  35. AASRL,
  36. AASRW,
  37. ABCASE,
  38. ABCC,
  39. ABCHG,
  40. ABCLR,
  41. ABCS,
  42. ABEQ,
  43. ABFCHG,
  44. ABFCLR,
  45. ABFEXTS,
  46. ABFEXTU,
  47. ABFFFO,
  48. ABFINS,
  49. ABFSET,
  50. ABFTST,
  51. ABGE,
  52. ABGT,
  53. ABHI,
  54. ABKPT,
  55. ABLE,
  56. ABLS,
  57. ABLT,
  58. ABMI,
  59. ABNE,
  60. ABPL,
  61. ABRA,
  62. ABSET,
  63. ABSR,
  64. ABTST,
  65. ABVC,
  66. ABVS,
  67. ACALLM,
  68. ACAS2B,
  69. ACAS2L,
  70. ACAS2W,
  71. ACASB,
  72. ACASEW,
  73. ACASL,
  74. ACASW,
  75. ACHK2B,
  76. ACHK2L,
  77. ACHK2W,
  78. ACHKL,
  79. ACHKW,
  80. ACLRB,
  81. ACLRL,
  82. ACLRW,
  83. ACMP2B,
  84. ACMP2L,
  85. ACMP2W,
  86. ACMPB,
  87. ACMPL,
  88. ACMPW,
  89. ADATA,
  90. ADBCC,
  91. ADBCS,
  92. ADBEQ,
  93. ADBF,
  94. ADBGE,
  95. ADBGT,
  96. ADBHI,
  97. ADBLE,
  98. ADBLS,
  99. ADBLT,
  100. ADBMI,
  101. ADBNE,
  102. ADBPL,
  103. ADBT,
  104. ADBVC,
  105. ADBVS,
  106. ADIVSL,
  107. ADIVSW,
  108. ADIVUL,
  109. ADIVUW,
  110. AEND,
  111. AEORB,
  112. AEORL,
  113. AEORW,
  114. AEXG,
  115. AEXTBL,
  116. AEXTBW,
  117. AEXTWL,
  118. AFABSB,
  119. AFABSD,
  120. AFABSF,
  121. AFABSL,
  122. AFABSW,
  123. AFACOSB,
  124. AFACOSD,
  125. AFACOSF,
  126. AFACOSL,
  127. AFACOSW,
  128. AFADDB,
  129. AFADDD,
  130. AFADDF,
  131. AFADDL,
  132. AFADDW,
  133. AFASINB,
  134. AFASIND,
  135. AFASINF,
  136. AFASINL,
  137. AFASINW,
  138. AFATANB,
  139. AFATAND,
  140. AFATANF,
  141. AFATANHB,
  142. AFATANHD,
  143. AFATANHF,
  144. AFATANHL,
  145. AFATANHW,
  146. AFATANL,
  147. AFATANW,
  148. AFBEQ,
  149. AFBF,
  150. AFBGE,
  151. AFBGT,
  152. AFBLE,
  153. AFBLT,
  154. AFBNE,
  155. AFBT,
  156. AFCMPB,
  157. AFCMPD,
  158. AFCMPF,
  159. AFCMPL,
  160. AFCMPW,
  161. AFCOSB,
  162. AFCOSD,
  163. AFCOSF,
  164. AFCOSHB,
  165. AFCOSHD,
  166. AFCOSHF,
  167. AFCOSHL,
  168. AFCOSHW,
  169. AFCOSL,
  170. AFCOSW,
  171. AFDBEQ,
  172. AFDBF,
  173. AFDBGE,
  174. AFDBGT,
  175. AFDBLE,
  176. AFDBLT,
  177. AFDBNE,
  178. AFDBT,
  179. AFDIVB,
  180. AFDIVD,
  181. AFDIVF,
  182. AFDIVL,
  183. AFDIVW,
  184. AFETOXB,
  185. AFETOXD,
  186. AFETOXF,
  187. AFETOXL,
  188. AFETOXM1B,
  189. AFETOXM1D,
  190. AFETOXM1F,
  191. AFETOXM1L,
  192. AFETOXM1W,
  193. AFETOXW,
  194. AFGETEXPB,
  195. AFGETEXPD,
  196. AFGETEXPF,
  197. AFGETEXPL,
  198. AFGETEXPW,
  199. AFGETMANB,
  200. AFGETMAND,
  201. AFGETMANF,
  202. AFGETMANL,
  203. AFGETMANW,
  204. AFINTB,
  205. AFINTD,
  206. AFINTF,
  207. AFINTL,
  208. AFINTRZB,
  209. AFINTRZD,
  210. AFINTRZF,
  211. AFINTRZL,
  212. AFINTRZW,
  213. AFINTW,
  214. AFLOG10B,
  215. AFLOG10D,
  216. AFLOG10F,
  217. AFLOG10L,
  218. AFLOG10W,
  219. AFLOG2B,
  220. AFLOG2D,
  221. AFLOG2F,
  222. AFLOG2L,
  223. AFLOG2W,
  224. AFLOGNB,
  225. AFLOGND,
  226. AFLOGNF,
  227. AFLOGNL,
  228. AFLOGNP1B,
  229. AFLOGNP1D,
  230. AFLOGNP1F,
  231. AFLOGNP1L,
  232. AFLOGNP1W,
  233. AFLOGNW,
  234. AFMODB,
  235. AFMODD,
  236. AFMODF,
  237. AFMODL,
  238. AFMODW,
  239. AFMOVEB,
  240. AFMOVED,
  241. AFMOVEF,
  242. AFMOVEL,
  243. AFMOVEM,
  244. AFMOVEMC,
  245. AFMOVEW,
  246. AFMULB,
  247. AFMULD,
  248. AFMULF,
  249. AFMULL,
  250. AFMULW,
  251. AFNEGB,
  252. AFNEGD,
  253. AFNEGF,
  254. AFNEGL,
  255. AFNEGW,
  256. AFREMB,
  257. AFREMD,
  258. AFREMF,
  259. AFREML,
  260. AFREMW,
  261. AFRESTORE,
  262. AFSAVE,
  263. AFSCALEB,
  264. AFSCALED,
  265. AFSCALEF,
  266. AFSCALEL,
  267. AFSCALEW,
  268. AFSEQ,
  269. AFSF,
  270. AFSGE,
  271. AFSGT,
  272. AFSINB,
  273. AFSIND,
  274. AFSINF,
  275. AFSINHB,
  276. AFSINHD,
  277. AFSINHF,
  278. AFSINHL,
  279. AFSINHW,
  280. AFSINL,
  281. AFSINW,
  282. AFSLE,
  283. AFSLT,
  284. AFSNE,
  285. AFSQRTB,
  286. AFSQRTD,
  287. AFSQRTF,
  288. AFSQRTL,
  289. AFSQRTW,
  290. AFST,
  291. AFSUBB,
  292. AFSUBD,
  293. AFSUBF,
  294. AFSUBL,
  295. AFSUBW,
  296. AFTANB,
  297. AFTAND,
  298. AFTANF,
  299. AFTANHB,
  300. AFTANHD,
  301. AFTANHF,
  302. AFTANHL,
  303. AFTANHW,
  304. AFTANL,
  305. AFTANW,
  306. AFTENTOXB,
  307. AFTENTOXD,
  308. AFTENTOXF,
  309. AFTENTOXL,
  310. AFTENTOXW,
  311. AFTSTB,
  312. AFTSTD,
  313. AFTSTF,
  314. AFTSTL,
  315. AFTSTW,
  316. AFTWOTOXB,
  317. AFTWOTOXD,
  318. AFTWOTOXF,
  319. AFTWOTOXL,
  320. AFTWOTOXW,
  321. AGLOBL,
  322. AGOK,
  323. AHISTORY,
  324. AILLEG,
  325. AINSTR,
  326. AJMP,
  327. AJSR,
  328. ALEA,
  329. ALINKL,
  330. ALINKW,
  331. ALOCATE,
  332. ALONG,
  333. ALSLB,
  334. ALSLL,
  335. ALSLW,
  336. ALSRB,
  337. ALSRL,
  338. ALSRW,
  339. AMOVB,
  340. AMOVEM,
  341. AMOVEPL,
  342. AMOVEPW,
  343. AMOVESB,
  344. AMOVESL,
  345. AMOVESW,
  346. AMOVL,
  347. AMOVW,
  348. AMULSL,
  349. AMULSW,
  350. AMULUL,
  351. AMULUW,
  352. ANAME,
  353. ANBCD,
  354. ANEGB,
  355. ANEGL,
  356. ANEGW,
  357. ANEGXB,
  358. ANEGXL,
  359. ANEGXW,
  360. ANOP,
  361. ANOTB,
  362. ANOTL,
  363. ANOTW,
  364. AORB,
  365. AORL,
  366. AORW,
  367. APACK,
  368. APEA,
  369. ARESET,
  370. AROTLB,
  371. AROTLL,
  372. AROTLW,
  373. AROTRB,
  374. AROTRL,
  375. AROTRW,
  376. AROXLB,
  377. AROXLL,
  378. AROXLW,
  379. AROXRB,
  380. AROXRL,
  381. AROXRW,
  382. ARTD,
  383. ARTE,
  384. ARTM,
  385. ARTR,
  386. ARTS,
  387. ASBCD,
  388. ASCC,
  389. ASCS,
  390. ASEQ,
  391. ASF,
  392. ASGE,
  393. ASGT,
  394. ASHI,
  395. ASLE,
  396. ASLS,
  397. ASLT,
  398. ASMI,
  399. ASNE,
  400. ASPL,
  401. AST,
  402. ASTOP,
  403. ASUBB,
  404. ASUBL,
  405. ASUBW,
  406. ASUBXB,
  407. ASUBXL,
  408. ASUBXW,
  409. ASVC,
  410. ASVS,
  411. ASWAP,
  412. ASYS,
  413. ATAS,
  414. ATEXT,
  415. ATRAP,
  416. ATRAPCC,
  417. ATRAPCS,
  418. ATRAPEQ,
  419. ATRAPF,
  420. ATRAPGE,
  421. ATRAPGT,
  422. ATRAPHI,
  423. ATRAPLE,
  424. ATRAPLS,
  425. ATRAPLT,
  426. ATRAPMI,
  427. ATRAPNE,
  428. ATRAPPL,
  429. ATRAPT,
  430. ATRAPV,
  431. ATRAPVC,
  432. ATRAPVS,
  433. ATSTB,
  434. ATSTL,
  435. ATSTW,
  436. AUNLK,
  437. AUNPK,
  438. AWORD,
  439. ASIGNAME,
  440. ALAST
  441. };
  442. enum
  443. {
  444. NREG = 8,
  445. D_R0 = 0,
  446. D_A0 = NREG,
  447. D_F0 = D_A0+NREG,
  448. D_NONE = D_F0+NREG,
  449. D_TOS,
  450. D_BRANCH,
  451. D_STACK,
  452. D_TREE,
  453. D_EXTERN,
  454. D_STATIC,
  455. D_AUTO,
  456. D_PARAM,
  457. D_CONST,
  458. D_FCONST,
  459. D_QUICK,
  460. D_CCR,
  461. D_SR,
  462. D_SFC,
  463. D_CACR,
  464. D_USP,
  465. D_VBR,
  466. D_CAAR,
  467. D_MSP,
  468. D_ISP,
  469. D_DFC,
  470. D_FPCR,
  471. D_FPSR,
  472. D_FPIAR,
  473. D_SCONST,
  474. D_FILE,
  475. D_TC, /* new for 68040 */
  476. D_ITT0,
  477. D_ITT1,
  478. D_DTT0,
  479. D_DTT1,
  480. D_MMUSR,
  481. D_URP,
  482. D_SRP,
  483. D_FILE1,
  484. D_MASK = 63/(D_SRP>=63?0:1),
  485. I_DIR = (D_MASK+1)*0,
  486. I_INDINC = (D_MASK+1)*1,
  487. I_INDDEC = (D_MASK+1)*2,
  488. I_INDIR = (D_MASK+1)*3,
  489. I_ADDR = (D_MASK+1)*4,
  490. I_INDEX1 = (D_MASK+1)*1,
  491. I_INDEX2 = (D_MASK+1)*2,
  492. I_INDEX3 = (D_MASK+1)*3,
  493. I_MASK = (D_MASK+1)*7,
  494. T_FIELD = 1<<0,
  495. T_INDEX = 1<<1,
  496. T_TYPE = 1<<2,
  497. T_OFFSET = 1<<3,
  498. T_FCONST = 1<<4,
  499. T_SYM = 1<<5,
  500. T_SCONST = 1<<6
  501. };
  502. /*
  503. * this is the ranlib header
  504. */
  505. #define SYMDEF "__.SYMDEF"
  506. /*
  507. * this is the simulated IEEE floating point
  508. */
  509. typedef struct ieee Ieee;
  510. struct ieee
  511. {
  512. long l; /* contains ls-man 0xffffffff */
  513. long h; /* contains sign 0x80000000
  514. exp 0x7ff00000
  515. ms-man 0x000fffff */
  516. };