8.out.h 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514
  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. #define NOPROF (1<<0)
  12. #define DUPOK (1<<1)
  13. #define NOSPLIT (1<<2)
  14. enum as
  15. {
  16. AXXX,
  17. AAAA,
  18. AAAD,
  19. AAAM,
  20. AAAS,
  21. AADCB,
  22. AADCL,
  23. AADCW,
  24. AADDB,
  25. AADDL,
  26. AADDW,
  27. AADJSP,
  28. AANDB,
  29. AANDL,
  30. AANDW,
  31. AARPL,
  32. ABOUNDL,
  33. ABOUNDW,
  34. ABSFL,
  35. ABSFW,
  36. ABSRL,
  37. ABSRW,
  38. ABTL,
  39. ABTW,
  40. ABTCL,
  41. ABTCW,
  42. ABTRL,
  43. ABTRW,
  44. ABTSL,
  45. ABTSW,
  46. ABYTE,
  47. ACALL,
  48. ACLC,
  49. ACLD,
  50. ACLI,
  51. ACLTS,
  52. ACMC,
  53. ACMPB,
  54. ACMPL,
  55. ACMPW,
  56. ACMPSB,
  57. ACMPSL,
  58. ACMPSW,
  59. ADAA,
  60. ADAS,
  61. ADATA,
  62. ADECB,
  63. ADECL,
  64. ADECW,
  65. ADIVB,
  66. ADIVL,
  67. ADIVW,
  68. AENTER,
  69. AGLOBL,
  70. AGOK,
  71. AHISTORY,
  72. AHLT,
  73. AIDIVB,
  74. AIDIVL,
  75. AIDIVW,
  76. AIMULB,
  77. AIMULL,
  78. AIMULW,
  79. AINB,
  80. AINL,
  81. AINW,
  82. AINCB,
  83. AINCL,
  84. AINCW,
  85. AINSB,
  86. AINSL,
  87. AINSW,
  88. AINT,
  89. AINTO,
  90. AIRETL,
  91. AIRETW,
  92. AJCC,
  93. AJCS,
  94. AJCXZ,
  95. AJEQ,
  96. AJGE,
  97. AJGT,
  98. AJHI,
  99. AJLE,
  100. AJLS,
  101. AJLT,
  102. AJMI,
  103. AJMP,
  104. AJNE,
  105. AJOC,
  106. AJOS,
  107. AJPC,
  108. AJPL,
  109. AJPS,
  110. ALAHF,
  111. ALARL,
  112. ALARW,
  113. ALEAL,
  114. ALEAW,
  115. ALEAVEL,
  116. ALEAVEW,
  117. ALOCK,
  118. ALODSB,
  119. ALODSL,
  120. ALODSW,
  121. ALONG,
  122. ALOOP,
  123. ALOOPEQ,
  124. ALOOPNE,
  125. ALSLL,
  126. ALSLW,
  127. AMOVB,
  128. AMOVL,
  129. AMOVW,
  130. AMOVBLSX,
  131. AMOVBLZX,
  132. AMOVBWSX,
  133. AMOVBWZX,
  134. AMOVWLSX,
  135. AMOVWLZX,
  136. AMOVSB,
  137. AMOVSL,
  138. AMOVSW,
  139. AMULB,
  140. AMULL,
  141. AMULW,
  142. ANAME,
  143. ANEGB,
  144. ANEGL,
  145. ANEGW,
  146. ANOP,
  147. ANOTB,
  148. ANOTL,
  149. ANOTW,
  150. AORB,
  151. AORL,
  152. AORW,
  153. AOUTB,
  154. AOUTL,
  155. AOUTW,
  156. AOUTSB,
  157. AOUTSL,
  158. AOUTSW,
  159. APOPAL,
  160. APOPAW,
  161. APOPFL,
  162. APOPFW,
  163. APOPL,
  164. APOPW,
  165. APUSHAL,
  166. APUSHAW,
  167. APUSHFL,
  168. APUSHFW,
  169. APUSHL,
  170. APUSHW,
  171. ARCLB,
  172. ARCLL,
  173. ARCLW,
  174. ARCRB,
  175. ARCRL,
  176. ARCRW,
  177. AREP,
  178. AREPN,
  179. ARET,
  180. AROLB,
  181. AROLL,
  182. AROLW,
  183. ARORB,
  184. ARORL,
  185. ARORW,
  186. ASAHF,
  187. ASALB,
  188. ASALL,
  189. ASALW,
  190. ASARB,
  191. ASARL,
  192. ASARW,
  193. ASBBB,
  194. ASBBL,
  195. ASBBW,
  196. ASCASB,
  197. ASCASL,
  198. ASCASW,
  199. ASETCC,
  200. ASETCS,
  201. ASETEQ,
  202. ASETGE,
  203. ASETGT,
  204. ASETHI,
  205. ASETLE,
  206. ASETLS,
  207. ASETLT,
  208. ASETMI,
  209. ASETNE,
  210. ASETOC,
  211. ASETOS,
  212. ASETPC,
  213. ASETPL,
  214. ASETPS,
  215. ACDQ,
  216. ACWD,
  217. ASHLB,
  218. ASHLL,
  219. ASHLW,
  220. ASHRB,
  221. ASHRL,
  222. ASHRW,
  223. ASTC,
  224. ASTD,
  225. ASTI,
  226. ASTOSB,
  227. ASTOSL,
  228. ASTOSW,
  229. ASUBB,
  230. ASUBL,
  231. ASUBW,
  232. ASYSCALL,
  233. ATESTB,
  234. ATESTL,
  235. ATESTW,
  236. ATEXT,
  237. AVERR,
  238. AVERW,
  239. AWAIT,
  240. AWORD,
  241. AXCHGB,
  242. AXCHGL,
  243. AXCHGW,
  244. AXLAT,
  245. AXORB,
  246. AXORL,
  247. AXORW,
  248. AFMOVB,
  249. AFMOVBP,
  250. AFMOVD,
  251. AFMOVDP,
  252. AFMOVF,
  253. AFMOVFP,
  254. AFMOVL,
  255. AFMOVLP,
  256. AFMOVV,
  257. AFMOVVP,
  258. AFMOVW,
  259. AFMOVWP,
  260. AFMOVX,
  261. AFMOVXP,
  262. AFCOMB,
  263. AFCOMBP,
  264. AFCOMD,
  265. AFCOMDP,
  266. AFCOMDPP,
  267. AFCOMF,
  268. AFCOMFP,
  269. AFCOML,
  270. AFCOMLP,
  271. AFCOMW,
  272. AFCOMWP,
  273. AFUCOM,
  274. AFUCOMP,
  275. AFUCOMPP,
  276. AFADDDP,
  277. AFADDW,
  278. AFADDL,
  279. AFADDF,
  280. AFADDD,
  281. AFMULDP,
  282. AFMULW,
  283. AFMULL,
  284. AFMULF,
  285. AFMULD,
  286. AFSUBDP,
  287. AFSUBW,
  288. AFSUBL,
  289. AFSUBF,
  290. AFSUBD,
  291. AFSUBRDP,
  292. AFSUBRW,
  293. AFSUBRL,
  294. AFSUBRF,
  295. AFSUBRD,
  296. AFDIVDP,
  297. AFDIVW,
  298. AFDIVL,
  299. AFDIVF,
  300. AFDIVD,
  301. AFDIVRDP,
  302. AFDIVRW,
  303. AFDIVRL,
  304. AFDIVRF,
  305. AFDIVRD,
  306. AFXCHD,
  307. AFFREE,
  308. AFLDCW,
  309. AFLDENV,
  310. AFRSTOR,
  311. AFSAVE,
  312. AFSTCW,
  313. AFSTENV,
  314. AFSTSW,
  315. AF2XM1,
  316. AFABS,
  317. AFCHS,
  318. AFCLEX,
  319. AFCOS,
  320. AFDECSTP,
  321. AFINCSTP,
  322. AFINIT,
  323. AFLD1,
  324. AFLDL2E,
  325. AFLDL2T,
  326. AFLDLG2,
  327. AFLDLN2,
  328. AFLDPI,
  329. AFLDZ,
  330. AFNOP,
  331. AFPATAN,
  332. AFPREM,
  333. AFPREM1,
  334. AFPTAN,
  335. AFRNDINT,
  336. AFSCALE,
  337. AFSIN,
  338. AFSINCOS,
  339. AFSQRT,
  340. AFTST,
  341. AFXAM,
  342. AFXTRACT,
  343. AFYL2X,
  344. AFYL2XP1,
  345. AEND,
  346. ADYNT,
  347. AINIT,
  348. ASIGNAME,
  349. AFCOMI,
  350. AFCOMIP,
  351. AFUCOMI,
  352. AFUCOMIP,
  353. ACMPXCHGB,
  354. ACMPXCHGL,
  355. ACMPXCHGW,
  356. /* conditional move */
  357. ACMOVLCC,
  358. ACMOVLCS,
  359. ACMOVLEQ,
  360. ACMOVLGE,
  361. ACMOVLGT,
  362. ACMOVLHI,
  363. ACMOVLLE,
  364. ACMOVLLS,
  365. ACMOVLLT,
  366. ACMOVLMI,
  367. ACMOVLNE,
  368. ACMOVLOC,
  369. ACMOVLOS,
  370. ACMOVLPC,
  371. ACMOVLPL,
  372. ACMOVLPS,
  373. ACMOVWCC,
  374. ACMOVWCS,
  375. ACMOVWEQ,
  376. ACMOVWGE,
  377. ACMOVWGT,
  378. ACMOVWHI,
  379. ACMOVWLE,
  380. ACMOVWLS,
  381. ACMOVWLT,
  382. ACMOVWMI,
  383. ACMOVWNE,
  384. ACMOVWOC,
  385. ACMOVWOS,
  386. ACMOVWPC,
  387. ACMOVWPL,
  388. ACMOVWPS,
  389. AFCMOVCC,
  390. AFCMOVCS,
  391. AFCMOVEQ,
  392. AFCMOVHI,
  393. AFCMOVLS,
  394. AFCMOVNE,
  395. AFCMOVNU,
  396. AFCMOVUN,
  397. /* add new operations here. nowhere else. here. */
  398. ALAST
  399. };
  400. enum
  401. {
  402. D_AL = 0,
  403. D_CL,
  404. D_DL,
  405. D_BL,
  406. D_AH = 4,
  407. D_CH,
  408. D_DH,
  409. D_BH,
  410. D_AX = 8,
  411. D_CX,
  412. D_DX,
  413. D_BX,
  414. D_SP,
  415. D_BP,
  416. D_SI,
  417. D_DI,
  418. D_F0 = 16,
  419. D_F7 = D_F0 + 7,
  420. D_CS = 24,
  421. D_SS,
  422. D_DS,
  423. D_ES,
  424. D_FS,
  425. D_GS,
  426. D_GDTR, /* global descriptor table register */
  427. D_IDTR, /* interrupt descriptor table register */
  428. D_LDTR, /* local descriptor table register */
  429. D_MSW, /* machine status word */
  430. D_TASK, /* task register */
  431. D_CR = 35,
  432. D_DR = 43,
  433. D_TR = 51,
  434. D_NONE = 59,
  435. D_BRANCH = 60,
  436. D_EXTERN = 61,
  437. D_STATIC = 62,
  438. D_AUTO = 63,
  439. D_PARAM = 64,
  440. D_CONST = 65,
  441. D_FCONST = 66,
  442. D_SCONST = 67,
  443. D_ADDR = 68,
  444. D_FILE,
  445. D_FILE1,
  446. D_INDIR, /* additive */
  447. D_CONST2 = D_INDIR+D_INDIR,
  448. D_SIZE, /* 8l internal */
  449. T_TYPE = 1<<0,
  450. T_INDEX = 1<<1,
  451. T_OFFSET = 1<<2,
  452. T_FCONST = 1<<3,
  453. T_SYM = 1<<4,
  454. T_SCONST = 1<<5,
  455. T_OFFSET2 = 1<<6,
  456. T_GOTYPE = 1<<7,
  457. REGARG = -1,
  458. REGRET = D_AX,
  459. FREGRET = D_F0,
  460. REGSP = D_SP,
  461. REGTMP = D_DI,
  462. };
  463. /*
  464. * this is the ranlib header
  465. */
  466. #define SYMDEF "__.SYMDEF"
  467. /*
  468. * this is the simulated IEEE floating point
  469. */
  470. typedef struct ieee Ieee;
  471. struct ieee
  472. {
  473. long l; /* contains ls-man 0xffffffff */
  474. long h; /* contains sign 0x80000000
  475. exp 0x7ff00000
  476. ms-man 0x000fffff */
  477. };