disassemble.c 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776
  1. /*
  2. For disassembling the text segment.
  3. */
  4. /* $Id$ */
  5. #include "global.h"
  6. #include "opcode.h"
  7. #include "memdirect.h"
  8. #include "proctab.h"
  9. #include "alloc.h"
  10. PRIVATE ptr TC;
  11. PRIVATE do_pr_instr();
  12. /* This text is copied and modified from text.h */
  13. #define text_loc(a) (*(text + (p2i(a))))
  14. /* Reading the opcode.
  15. */
  16. #define nextTCbyte() (TC+=1, btou(text_loc(TC-1)))
  17. /* Shortie arguments consist of the high order value, derived from
  18. the opcode and passed as a parameter, and the following byte.
  19. */
  20. #define St_arg(h) (TC+=1, ((h)<<8) + btol(text_loc(TC-1)))
  21. /* Two-byte arguments consist of the following two bytes.
  22. */
  23. #define Lt_arg_2() (TC+=2, (btol(text_loc(TC-1)) | \
  24. (btos(text_loc(TC-2)) << 8)))
  25. #define Pt_arg_2() (TC+=2, (btol(text_loc(TC-1)) | \
  26. (btos(text_loc(TC-2)) << 8)))/* should test */
  27. #define Nt_arg_2() (TC+=2, (btol(text_loc(TC-1)) | \
  28. (btos(text_loc(TC-2)) << 8)))/* should test */
  29. #define Ut_arg() (TC+=2, (btol(text_loc(TC-1)) | \
  30. (btol(text_loc(TC-2)) << 8)))
  31. /* The L-, P-, and N-4-bytes #defines are all equal, because
  32. we assume our longs to be 4 bytes long.
  33. */
  34. #define Lt_arg_4() (TC+=4, (btol(text_loc(TC-1)) | \
  35. (btol(text_loc(TC-2)) << 8) | \
  36. (btol(text_loc(TC-3)) << 16) | \
  37. (btos(text_loc(TC-4)) << 24)))
  38. #define Pt_arg_4() (TC+=4, (btol(text_loc(TC-1)) | \
  39. (btol(text_loc(TC-2)) << 8) | \
  40. (btol(text_loc(TC-3)) << 16) | \
  41. (btos(text_loc(TC-4)) << 24)))/* should test */
  42. #define Nt_arg_4() (TC+=4, (btol(text_loc(TC-1)) | \
  43. (btol(text_loc(TC-2)) << 8) | \
  44. (btol(text_loc(TC-3)) << 16) | \
  45. (btos(text_loc(TC-4)) << 24)))/* should test */
  46. /* This text was generated by mkswitch Pr and then modified */
  47. PRIVATE PrAARl2(arg) long arg;
  48. {
  49. printf(" AAR %ld\n", Lt_arg_2() * arg);
  50. }
  51. PRIVATE PrAARm(arg) long arg;
  52. {
  53. printf(" AAR %ld\n", arg);
  54. }
  55. PRIVATE PrAARz() {
  56. printf(" AAR\n");
  57. }
  58. PRIVATE PrADFl2(arg) long arg;
  59. {
  60. printf(" ADF %ld\n", Lt_arg_2() * arg);
  61. }
  62. PRIVATE PrADFs(hob, wfac) long hob; size wfac;
  63. {
  64. printf(" ADF %ld\n", St_arg(hob) * wfac);
  65. }
  66. PRIVATE PrADFz() {
  67. printf(" ADF\n");
  68. }
  69. PRIVATE PrADIl2(arg) long arg;
  70. {
  71. printf(" ADI %ld\n", Lt_arg_2() * arg);
  72. }
  73. PRIVATE PrADIm(arg) long arg;
  74. {
  75. printf(" ADI %ld\n", arg);
  76. }
  77. PRIVATE PrADIz() {
  78. printf(" ADI\n");
  79. }
  80. PRIVATE PrADPl2(arg) long arg;
  81. {
  82. printf(" ADP %ld\n", Lt_arg_2() * arg);
  83. }
  84. PRIVATE PrADPl4(arg) long arg;
  85. {
  86. printf(" ADP %ld\n", Lt_arg_4() * arg);
  87. }
  88. PRIVATE PrADPm(arg) long arg;
  89. {
  90. printf(" ADP %ld\n", arg);
  91. }
  92. PRIVATE PrADPs(hob, wfac) long hob; size wfac;
  93. {
  94. printf(" ADP %ld\n", St_arg(hob) * wfac);
  95. }
  96. PRIVATE PrADSl2(arg) long arg;
  97. {
  98. printf(" ADS %ld\n", Lt_arg_2() * arg);
  99. }
  100. PRIVATE PrADSm(arg) long arg;
  101. {
  102. printf(" ADS %ld\n", arg);
  103. }
  104. PRIVATE PrADSz() {
  105. printf(" ADS\n");
  106. }
  107. PRIVATE PrADUl2(arg) long arg;
  108. {
  109. printf(" ADU %ld\n", Lt_arg_2() * arg);
  110. }
  111. PRIVATE PrADUz() {
  112. printf(" ADU\n");
  113. }
  114. PRIVATE PrANDl2(arg) long arg;
  115. {
  116. printf(" AND %ld\n", Lt_arg_2() * arg);
  117. }
  118. PRIVATE PrANDm(arg) long arg;
  119. {
  120. printf(" AND %ld\n", arg);
  121. }
  122. PRIVATE PrANDz() {
  123. printf(" AND\n");
  124. }
  125. PRIVATE PrASPl2(arg) long arg;
  126. {
  127. printf(" ASP %ld\n", Lt_arg_2() * arg);
  128. }
  129. PRIVATE PrASPl4(arg) long arg;
  130. {
  131. printf(" ASP %ld\n", Lt_arg_4() * arg);
  132. }
  133. PRIVATE PrASPm(arg) long arg;
  134. {
  135. printf(" ASP %ld\n", arg);
  136. }
  137. PRIVATE PrASPs(hob, wfac) long hob; size wfac;
  138. {
  139. printf(" ASP %ld\n", St_arg(hob) * wfac);
  140. }
  141. PRIVATE PrASSl2(arg) long arg;
  142. {
  143. printf(" ASS %ld\n", Lt_arg_2() * arg);
  144. }
  145. PRIVATE PrASSz() {
  146. printf(" ASS\n");
  147. }
  148. PRIVATE PrBEQl2(arg) long arg;
  149. {
  150. printf(" BEQ %ld\n", Lt_arg_2() * arg);
  151. }
  152. PRIVATE PrBEQl4(arg) long arg;
  153. {
  154. printf(" BEQ %ld\n", Lt_arg_4() * arg);
  155. }
  156. PRIVATE PrBEQs(hob, wfac) long hob; size wfac;
  157. {
  158. printf(" BEQ %ld\n", St_arg(hob) * wfac);
  159. }
  160. PRIVATE PrBGEl2(arg) long arg;
  161. {
  162. printf(" BGE %ld\n", Lt_arg_2() * arg);
  163. }
  164. PRIVATE PrBGEl4(arg) long arg;
  165. {
  166. printf(" BGE %ld\n", Lt_arg_4() * arg);
  167. }
  168. PRIVATE PrBGEs(hob, wfac) long hob; size wfac;
  169. {
  170. printf(" BGE %ld\n", St_arg(hob) * wfac);
  171. }
  172. PRIVATE PrBGTl2(arg) long arg;
  173. {
  174. printf(" BGT %ld\n", Lt_arg_2() * arg);
  175. }
  176. PRIVATE PrBGTl4(arg) long arg;
  177. {
  178. printf(" BGT %ld\n", Lt_arg_4() * arg);
  179. }
  180. PRIVATE PrBGTs(hob, wfac) long hob; size wfac;
  181. {
  182. printf(" BGT %ld\n", St_arg(hob) * wfac);
  183. }
  184. PRIVATE PrBLEl2(arg) long arg;
  185. {
  186. printf(" BLE %ld\n", Lt_arg_2() * arg);
  187. }
  188. PRIVATE PrBLEl4(arg) long arg;
  189. {
  190. printf(" BLE %ld\n", Lt_arg_4() * arg);
  191. }
  192. PRIVATE PrBLEs(hob, wfac) long hob; size wfac;
  193. {
  194. printf(" BLE %ld\n", St_arg(hob) * wfac);
  195. }
  196. PRIVATE PrBLMl2(arg) long arg;
  197. {
  198. printf(" BLM %ld\n", Lt_arg_2() * arg);
  199. }
  200. PRIVATE PrBLMl4(arg) long arg;
  201. {
  202. printf(" BLM %ld\n", Lt_arg_4() * arg);
  203. }
  204. PRIVATE PrBLMs(hob, wfac) long hob; size wfac;
  205. {
  206. printf(" BLM %ld\n", St_arg(hob) * wfac);
  207. }
  208. PRIVATE PrBLSl2(arg) long arg;
  209. {
  210. printf(" BLS %ld\n", Lt_arg_2() * arg);
  211. }
  212. PRIVATE PrBLSz() {
  213. printf(" BLS\n");
  214. }
  215. PRIVATE PrBLTl2(arg) long arg;
  216. {
  217. printf(" BLT %ld\n", Lt_arg_2() * arg);
  218. }
  219. PRIVATE PrBLTl4(arg) long arg;
  220. {
  221. printf(" BLT %ld\n", Lt_arg_4() * arg);
  222. }
  223. PRIVATE PrBLTs(hob, wfac) long hob; size wfac;
  224. {
  225. printf(" BLT %ld\n", St_arg(hob) * wfac);
  226. }
  227. PRIVATE PrBNEl2(arg) long arg;
  228. {
  229. printf(" BNE %ld\n", Lt_arg_2() * arg);
  230. }
  231. PRIVATE PrBNEl4(arg) long arg;
  232. {
  233. printf(" BNE %ld\n", Lt_arg_4() * arg);
  234. }
  235. PRIVATE PrBNEs(hob, wfac) long hob; size wfac;
  236. {
  237. printf(" BNE %ld\n", St_arg(hob) * wfac);
  238. }
  239. PRIVATE PrBRAl2(arg) long arg;
  240. {
  241. printf(" BRA %ld\n", Lt_arg_2() * arg);
  242. }
  243. PRIVATE PrBRAl4(arg) long arg;
  244. {
  245. printf(" BRA %ld\n", Lt_arg_4() * arg);
  246. }
  247. PRIVATE PrBRAs(hob, wfac) long hob; size wfac;
  248. {
  249. printf(" BRA %ld\n", St_arg(hob) * wfac);
  250. }
  251. PRIVATE PrCAIz() {
  252. printf(" CAI\n");
  253. }
  254. PRIVATE PrCALl2(arg) long arg;
  255. {
  256. printf(" CAL %ld\n", Lt_arg_2() * arg);
  257. }
  258. PRIVATE PrCALl4(arg) long arg;
  259. {
  260. printf(" CAL %ld\n", Lt_arg_4() * arg);
  261. }
  262. PRIVATE PrCALm(arg) long arg;
  263. {
  264. printf(" CAL %ld\n", arg);
  265. }
  266. PRIVATE PrCALs(hob, wfac) long hob; size wfac;
  267. {
  268. printf(" CAL %ld\n", St_arg(hob) * wfac);
  269. }
  270. PRIVATE PrCFFz() {
  271. printf(" CFF\n");
  272. }
  273. PRIVATE PrCFIz() {
  274. printf(" CFI\n");
  275. }
  276. PRIVATE PrCFUz() {
  277. printf(" CFU\n");
  278. }
  279. PRIVATE PrCIFz() {
  280. printf(" CIF\n");
  281. }
  282. PRIVATE PrCIIz() {
  283. printf(" CII\n");
  284. }
  285. PRIVATE PrCIUz() {
  286. printf(" CIU\n");
  287. }
  288. PRIVATE PrCMFl2(arg) long arg;
  289. {
  290. printf(" CMF %ld\n", Lt_arg_2() * arg);
  291. }
  292. PRIVATE PrCMFs(hob, wfac) long hob; size wfac;
  293. {
  294. printf(" CMF %ld\n", St_arg(hob) * wfac);
  295. }
  296. PRIVATE PrCMFz() {
  297. printf(" CMF\n");
  298. }
  299. PRIVATE PrCMIl2(arg) long arg;
  300. {
  301. printf(" CMI %ld\n", Lt_arg_2() * arg);
  302. }
  303. PRIVATE PrCMIm(arg) long arg;
  304. {
  305. printf(" CMI %ld\n", arg);
  306. }
  307. PRIVATE PrCMIz() {
  308. printf(" CMI\n");
  309. }
  310. PRIVATE PrCMPz() {
  311. printf(" CMP\n");
  312. }
  313. PRIVATE PrCMSl2(arg) long arg;
  314. {
  315. printf(" CMS %ld\n", Lt_arg_2() * arg);
  316. }
  317. PRIVATE PrCMSs(hob, wfac) long hob; size wfac;
  318. {
  319. printf(" CMS %ld\n", St_arg(hob) * wfac);
  320. }
  321. PRIVATE PrCMSz() {
  322. printf(" CMS\n");
  323. }
  324. PRIVATE PrCMUl2(arg) long arg;
  325. {
  326. printf(" CMU %ld\n", Lt_arg_2() * arg);
  327. }
  328. PRIVATE PrCMUz() {
  329. printf(" CMU\n");
  330. }
  331. PRIVATE PrCOMl2(arg) long arg;
  332. {
  333. printf(" COM %ld\n", Lt_arg_2() * arg);
  334. }
  335. PRIVATE PrCOMz() {
  336. printf(" COM\n");
  337. }
  338. PRIVATE PrCSAl2(arg) long arg;
  339. {
  340. printf(" CSA %ld\n", Lt_arg_2() * arg);
  341. }
  342. PRIVATE PrCSAm(arg) long arg;
  343. {
  344. printf(" CSA %ld\n", arg);
  345. }
  346. PRIVATE PrCSAz() {
  347. printf(" CSA\n");
  348. }
  349. PRIVATE PrCSBl2(arg) long arg;
  350. {
  351. printf(" CSB %ld\n", Lt_arg_2() * arg);
  352. }
  353. PRIVATE PrCSBm(arg) long arg;
  354. {
  355. printf(" CSB %ld\n", arg);
  356. }
  357. PRIVATE PrCSBz() {
  358. printf(" CSB\n");
  359. }
  360. PRIVATE PrCUFz() {
  361. printf(" CUF\n");
  362. }
  363. PRIVATE PrCUIz() {
  364. printf(" CUI\n");
  365. }
  366. PRIVATE PrCUUz() {
  367. printf(" CUU\n");
  368. }
  369. PRIVATE PrDCHz() {
  370. printf(" DCH\n");
  371. }
  372. PRIVATE PrDECz() {
  373. printf(" DEC\n");
  374. }
  375. PRIVATE PrDEEl2(arg) long arg;
  376. {
  377. printf(" DEE %ld\n", Lt_arg_2() * arg);
  378. }
  379. PRIVATE PrDEEl4(arg) long arg;
  380. {
  381. printf(" DEE %ld\n", Lt_arg_4() * arg);
  382. }
  383. PRIVATE PrDEEs(hob, wfac) long hob; size wfac;
  384. {
  385. printf(" DEE %ld\n", St_arg(hob) * wfac);
  386. }
  387. PRIVATE PrDELn2(arg) long arg;
  388. {
  389. printf(" DEL %ld\n", Nt_arg_2() * arg);
  390. }
  391. PRIVATE PrDELn4(arg) long arg;
  392. {
  393. printf(" DEL %ld\n", Nt_arg_4() * arg);
  394. }
  395. PRIVATE PrDELp2(arg) long arg;
  396. {
  397. printf(" DEL %ld\n", Pt_arg_2() * arg);
  398. }
  399. PRIVATE PrDELp4(arg) long arg;
  400. {
  401. printf(" DEL %ld\n", Pt_arg_4() * arg);
  402. }
  403. PRIVATE PrDELs(hob, wfac) long hob; size wfac;
  404. {
  405. printf(" DEL %ld\n", St_arg(hob) * wfac);
  406. }
  407. PRIVATE PrDUPl2(arg) long arg;
  408. {
  409. printf(" DUP %ld\n", Lt_arg_2() * arg);
  410. }
  411. PRIVATE PrDUPm(arg) long arg;
  412. {
  413. printf(" DUP %ld\n", arg);
  414. }
  415. PRIVATE PrDUSl2(arg) long arg;
  416. {
  417. printf(" DUS %ld\n", Lt_arg_2() * arg);
  418. }
  419. PRIVATE PrDUSz() {
  420. printf(" DUS\n");
  421. }
  422. PRIVATE PrDVFl2(arg) long arg;
  423. {
  424. printf(" DVF %ld\n", Lt_arg_2() * arg);
  425. }
  426. PRIVATE PrDVFs(hob, wfac) long hob; size wfac;
  427. {
  428. printf(" DVF %ld\n", St_arg(hob) * wfac);
  429. }
  430. PRIVATE PrDVFz() {
  431. printf(" DVF\n");
  432. }
  433. PRIVATE PrDVIl2(arg) long arg;
  434. {
  435. printf(" DVI %ld\n", Lt_arg_2() * arg);
  436. }
  437. PRIVATE PrDVIm(arg) long arg;
  438. {
  439. printf(" DVI %ld\n", arg);
  440. }
  441. PRIVATE PrDVIz() {
  442. printf(" DVI\n");
  443. }
  444. PRIVATE PrDVUl2(arg) long arg;
  445. {
  446. printf(" DVU %ld\n", Lt_arg_2() * arg);
  447. }
  448. PRIVATE PrDVUz() {
  449. printf(" DVU\n");
  450. }
  451. PRIVATE PrEXGl2(arg) long arg;
  452. {
  453. printf(" EXG %ld\n", Lt_arg_2() * arg);
  454. }
  455. PRIVATE PrEXGs(hob, wfac) long hob; size wfac;
  456. {
  457. printf(" EXG %ld\n", St_arg(hob) * wfac);
  458. }
  459. PRIVATE PrEXGz() {
  460. printf(" EXG\n");
  461. }
  462. PRIVATE PrFEFl2(arg) long arg;
  463. {
  464. printf(" FEF %ld\n", Lt_arg_2() * arg);
  465. }
  466. PRIVATE PrFEFz() {
  467. printf(" FEF\n");
  468. }
  469. PRIVATE PrFIFl2(arg) long arg;
  470. {
  471. printf(" FIF %ld\n", Lt_arg_2() * arg);
  472. }
  473. PRIVATE PrFIFz() {
  474. printf(" FIF\n");
  475. }
  476. PRIVATE PrFILu(arg) long arg;
  477. {
  478. printf(" FIL %ld\n", Ut_arg() * arg);
  479. }
  480. PRIVATE PrFILl4(arg) long arg;
  481. {
  482. printf(" FIL %ld\n", Lt_arg_4() * arg);
  483. }
  484. PRIVATE PrGTOu(arg) long arg;
  485. {
  486. printf(" GTO %ld\n", Ut_arg() * arg);
  487. }
  488. PRIVATE PrGTOl4(arg) long arg;
  489. {
  490. printf(" GTO %ld\n", Lt_arg_4() * arg);
  491. }
  492. PRIVATE PrINCz() {
  493. printf(" INC\n");
  494. }
  495. PRIVATE PrINEl2(arg) long arg;
  496. {
  497. printf(" INE %ld\n", Lt_arg_2() * arg);
  498. }
  499. PRIVATE PrINEl4(arg) long arg;
  500. {
  501. printf(" INE %ld\n", Lt_arg_4() * arg);
  502. }
  503. PRIVATE PrINEs(hob, wfac) long hob; size wfac;
  504. {
  505. printf(" INE %ld\n", St_arg(hob) * wfac);
  506. }
  507. PRIVATE PrINLm(arg) long arg;
  508. {
  509. printf(" INL %ld\n", arg);
  510. }
  511. PRIVATE PrINLn2(arg) long arg;
  512. {
  513. printf(" INL %ld\n", Nt_arg_2() * arg);
  514. }
  515. PRIVATE PrINLn4(arg) long arg;
  516. {
  517. printf(" INL %ld\n", Nt_arg_4() * arg);
  518. }
  519. PRIVATE PrINLp2(arg) long arg;
  520. {
  521. printf(" INL %ld\n", Pt_arg_2() * arg);
  522. }
  523. PRIVATE PrINLp4(arg) long arg;
  524. {
  525. printf(" INL %ld\n", Pt_arg_4() * arg);
  526. }
  527. PRIVATE PrINLs(hob, wfac) long hob; size wfac;
  528. {
  529. printf(" INL %ld\n", St_arg(hob) * wfac);
  530. }
  531. PRIVATE PrINNl2(arg) long arg;
  532. {
  533. printf(" INN %ld\n", Lt_arg_2() * arg);
  534. }
  535. PRIVATE PrINNs(hob, wfac) long hob; size wfac;
  536. {
  537. printf(" INN %ld\n", St_arg(hob) * wfac);
  538. }
  539. PRIVATE PrINNz() {
  540. printf(" INN\n");
  541. }
  542. PRIVATE PrIORl2(arg) long arg;
  543. {
  544. printf(" IOR %ld\n", Lt_arg_2() * arg);
  545. }
  546. PRIVATE PrIORm(arg) long arg;
  547. {
  548. printf(" IOR %ld\n", arg);
  549. }
  550. PRIVATE PrIORs(hob, wfac) long hob; size wfac;
  551. {
  552. printf(" IOR %ld\n", St_arg(hob) * wfac);
  553. }
  554. PRIVATE PrIORz() {
  555. printf(" IOR\n");
  556. }
  557. PRIVATE PrLAEu(arg) long arg;
  558. {
  559. printf(" LAE %ld\n", Ut_arg() * arg);
  560. }
  561. PRIVATE PrLAEl4(arg) long arg;
  562. {
  563. printf(" LAE %ld\n", Lt_arg_4() * arg);
  564. }
  565. PRIVATE PrLAEs(hob, wfac) long hob; size wfac;
  566. {
  567. printf(" LAE %ld\n", St_arg(hob) * wfac);
  568. }
  569. PRIVATE PrLALm(arg) long arg;
  570. {
  571. printf(" LAL %ld\n", arg);
  572. }
  573. PRIVATE PrLALn2(arg) long arg;
  574. {
  575. printf(" LAL %ld\n", Nt_arg_2() * arg);
  576. }
  577. PRIVATE PrLALn4(arg) long arg;
  578. {
  579. printf(" LAL %ld\n", Nt_arg_4() * arg);
  580. }
  581. PRIVATE PrLALp2(arg) long arg;
  582. {
  583. printf(" LAL %ld\n", Pt_arg_2() * arg);
  584. }
  585. PRIVATE PrLALp4(arg) long arg;
  586. {
  587. printf(" LAL %ld\n", Pt_arg_4() * arg);
  588. }
  589. PRIVATE PrLALs(hob, wfac) long hob; size wfac;
  590. {
  591. printf(" LAL %ld\n", St_arg(hob) * wfac);
  592. }
  593. PRIVATE PrLARl2(arg) long arg;
  594. {
  595. printf(" LAR %ld\n", Lt_arg_2() * arg);
  596. }
  597. PRIVATE PrLARm(arg) long arg;
  598. {
  599. printf(" LAR %ld\n", arg);
  600. }
  601. PRIVATE PrLARz() {
  602. printf(" LAR\n");
  603. }
  604. PRIVATE PrLDCl2(arg) long arg;
  605. {
  606. printf(" LDC %ld\n", Lt_arg_2() * arg);
  607. }
  608. PRIVATE PrLDCl4(arg) long arg;
  609. {
  610. printf(" LDC %ld\n", Lt_arg_4() * arg);
  611. }
  612. PRIVATE PrLDCm(arg) long arg;
  613. {
  614. printf(" LDC %ld\n", arg);
  615. }
  616. PRIVATE PrLDEl2(arg) long arg;
  617. {
  618. printf(" LDE %ld\n", Lt_arg_2() * arg);
  619. }
  620. PRIVATE PrLDEl4(arg) long arg;
  621. {
  622. printf(" LDE %ld\n", Lt_arg_4() * arg);
  623. }
  624. PRIVATE PrLDEs(hob, wfac) long hob; size wfac;
  625. {
  626. printf(" LDE %ld\n", St_arg(hob) * wfac);
  627. }
  628. PRIVATE PrLDFl2(arg) long arg;
  629. {
  630. printf(" LDF %ld\n", Lt_arg_2() * arg);
  631. }
  632. PRIVATE PrLDFl4(arg) long arg;
  633. {
  634. printf(" LDF %ld\n", Lt_arg_4() * arg);
  635. }
  636. PRIVATE PrLDLm(arg) long arg;
  637. {
  638. printf(" LDL %ld\n", arg);
  639. }
  640. PRIVATE PrLDLn2(arg) long arg;
  641. {
  642. printf(" LDL %ld\n", Nt_arg_2() * arg);
  643. }
  644. PRIVATE PrLDLn4(arg) long arg;
  645. {
  646. printf(" LDL %ld\n", Nt_arg_4() * arg);
  647. }
  648. PRIVATE PrLDLp2(arg) long arg;
  649. {
  650. printf(" LDL %ld\n", Pt_arg_2() * arg);
  651. }
  652. PRIVATE PrLDLp4(arg) long arg;
  653. {
  654. printf(" LDL %ld\n", Pt_arg_4() * arg);
  655. }
  656. PRIVATE PrLDLs(hob, wfac) long hob; size wfac;
  657. {
  658. printf(" LDL %ld\n", St_arg(hob) * wfac);
  659. }
  660. PRIVATE PrLFRl2(arg) long arg;
  661. {
  662. printf(" LFR %ld\n", Lt_arg_2() * arg);
  663. }
  664. PRIVATE PrLFRm(arg) long arg;
  665. {
  666. printf(" LFR %ld\n", arg);
  667. }
  668. PRIVATE PrLFRs(hob, wfac) long hob; size wfac;
  669. {
  670. printf(" LFR %ld\n", St_arg(hob) * wfac);
  671. }
  672. PRIVATE PrLILm(arg) long arg;
  673. {
  674. printf(" LIL %ld\n", arg);
  675. }
  676. PRIVATE PrLILn2(arg) long arg;
  677. {
  678. printf(" LIL %ld\n", Nt_arg_2() * arg);
  679. }
  680. PRIVATE PrLILn4(arg) long arg;
  681. {
  682. printf(" LIL %ld\n", Nt_arg_4() * arg);
  683. }
  684. PRIVATE PrLILp2(arg) long arg;
  685. {
  686. printf(" LIL %ld\n", Pt_arg_2() * arg);
  687. }
  688. PRIVATE PrLILp4(arg) long arg;
  689. {
  690. printf(" LIL %ld\n", Pt_arg_4() * arg);
  691. }
  692. PRIVATE PrLILs(hob, wfac) long hob; size wfac;
  693. {
  694. printf(" LIL %ld\n", St_arg(hob) * wfac);
  695. }
  696. PRIVATE PrLIMz() {
  697. printf(" LIM\n");
  698. }
  699. PRIVATE PrLINl2(arg) long arg;
  700. {
  701. printf(" LIN %ld\n", Lt_arg_2() * arg);
  702. }
  703. PRIVATE PrLINl4(arg) long arg;
  704. {
  705. printf(" LIN %ld\n", Lt_arg_4() * arg);
  706. }
  707. PRIVATE PrLINs(hob, wfac) long hob; size wfac;
  708. {
  709. printf(" LIN %ld\n", St_arg(hob) * wfac);
  710. }
  711. PRIVATE PrLNIz() {
  712. printf(" LNI\n");
  713. }
  714. PRIVATE PrLOCl2(arg) long arg;
  715. {
  716. printf(" LOC %ld\n", Lt_arg_2() * arg);
  717. }
  718. PRIVATE PrLOCl4(arg) long arg;
  719. {
  720. printf(" LOC %ld\n", Lt_arg_4() * arg);
  721. }
  722. PRIVATE PrLOCm(arg) long arg;
  723. {
  724. printf(" LOC %ld\n", arg);
  725. }
  726. PRIVATE PrLOCs(hob, wfac) long hob; size wfac;
  727. {
  728. printf(" LOC %ld\n", St_arg(hob) * wfac);
  729. }
  730. PRIVATE PrLOEl2(arg) long arg;
  731. {
  732. printf(" LOE %ld\n", Lt_arg_2() * arg);
  733. }
  734. PRIVATE PrLOEl4(arg) long arg;
  735. {
  736. printf(" LOE %ld\n", Lt_arg_4() * arg);
  737. }
  738. PRIVATE PrLOEs(hob, wfac) long hob; size wfac;
  739. {
  740. printf(" LOE %ld\n", St_arg(hob) * wfac);
  741. }
  742. PRIVATE PrLOFl2(arg) long arg;
  743. {
  744. printf(" LOF %ld\n", Lt_arg_2() * arg);
  745. }
  746. PRIVATE PrLOFl4(arg) long arg;
  747. {
  748. printf(" LOF %ld\n", Lt_arg_4() * arg);
  749. }
  750. PRIVATE PrLOFm(arg) long arg;
  751. {
  752. printf(" LOF %ld\n", arg);
  753. }
  754. PRIVATE PrLOFs(hob, wfac) long hob; size wfac;
  755. {
  756. printf(" LOF %ld\n", St_arg(hob) * wfac);
  757. }
  758. PRIVATE PrLOIl2(arg) long arg;
  759. {
  760. printf(" LOI %ld\n", Lt_arg_2() * arg);
  761. }
  762. PRIVATE PrLOIl4(arg) long arg;
  763. {
  764. printf(" LOI %ld\n", Lt_arg_4() * arg);
  765. }
  766. PRIVATE PrLOIm(arg) long arg;
  767. {
  768. printf(" LOI %ld\n", arg);
  769. }
  770. PRIVATE PrLOIs(hob, wfac) long hob; size wfac;
  771. {
  772. printf(" LOI %ld\n", St_arg(hob) * wfac);
  773. }
  774. PRIVATE PrLOLm(arg) long arg;
  775. {
  776. printf(" LOL %ld\n", arg);
  777. }
  778. PRIVATE PrLOLn2(arg) long arg;
  779. {
  780. printf(" LOL %ld\n", Nt_arg_2() * arg);
  781. }
  782. PRIVATE PrLOLn4(arg) long arg;
  783. {
  784. printf(" LOL %ld\n", Nt_arg_4() * arg);
  785. }
  786. PRIVATE PrLOLp2(arg) long arg;
  787. {
  788. printf(" LOL %ld\n", Pt_arg_2() * arg);
  789. }
  790. PRIVATE PrLOLp4(arg) long arg;
  791. {
  792. printf(" LOL %ld\n", Pt_arg_4() * arg);
  793. }
  794. PRIVATE PrLOLs(hob, wfac) long hob; size wfac;
  795. {
  796. printf(" LOL %ld\n", St_arg(hob) * wfac);
  797. }
  798. PRIVATE PrLORs(hob, wfac) long hob; size wfac;
  799. {
  800. printf(" LOR %ld\n", St_arg(hob) * wfac);
  801. }
  802. PRIVATE PrLOSl2(arg) long arg;
  803. {
  804. printf(" LOS %ld\n", Lt_arg_2() * arg);
  805. }
  806. PRIVATE PrLOSz() {
  807. printf(" LOS\n");
  808. }
  809. PRIVATE PrLPBz() {
  810. printf(" LPB\n");
  811. }
  812. PRIVATE PrLPIl2(arg) long arg;
  813. {
  814. printf(" LPI %ld\n", Lt_arg_2() * arg);
  815. }
  816. PRIVATE PrLPIl4(arg) long arg;
  817. {
  818. printf(" LPI %ld\n", Lt_arg_4() * arg);
  819. }
  820. PRIVATE PrLXAl2(arg) long arg;
  821. {
  822. printf(" LXA %ld\n", Lt_arg_2() * arg);
  823. }
  824. PRIVATE PrLXAm(arg) long arg;
  825. {
  826. printf(" LXA %ld\n", arg);
  827. }
  828. PRIVATE PrLXLl2(arg) long arg;
  829. {
  830. printf(" LXL %ld\n", Lt_arg_2() * arg);
  831. }
  832. PRIVATE PrLXLm(arg) long arg;
  833. {
  834. printf(" LXL %ld\n", arg);
  835. }
  836. PRIVATE PrMLFl2(arg) long arg;
  837. {
  838. printf(" MLF %ld\n", Lt_arg_2() * arg);
  839. }
  840. PRIVATE PrMLFs(hob, wfac) long hob; size wfac;
  841. {
  842. printf(" MLF %ld\n", St_arg(hob) * wfac);
  843. }
  844. PRIVATE PrMLFz() {
  845. printf(" MLF\n");
  846. }
  847. PRIVATE PrMLIl2(arg) long arg;
  848. {
  849. printf(" MLI %ld\n", Lt_arg_2() * arg);
  850. }
  851. PRIVATE PrMLIm(arg) long arg;
  852. {
  853. printf(" MLI %ld\n", arg);
  854. }
  855. PRIVATE PrMLIz() {
  856. printf(" MLI\n");
  857. }
  858. PRIVATE PrMLUl2(arg) long arg;
  859. {
  860. printf(" MLU %ld\n", Lt_arg_2() * arg);
  861. }
  862. PRIVATE PrMLUz() {
  863. printf(" MLU\n");
  864. }
  865. PRIVATE PrMONz() {
  866. printf(" MON\n");
  867. }
  868. PRIVATE PrNGFl2(arg) long arg;
  869. {
  870. printf(" NGF %ld\n", Lt_arg_2() * arg);
  871. }
  872. PRIVATE PrNGFz() {
  873. printf(" NGF\n");
  874. }
  875. PRIVATE PrNGIl2(arg) long arg;
  876. {
  877. printf(" NGI %ld\n", Lt_arg_2() * arg);
  878. }
  879. PRIVATE PrNGIz() {
  880. printf(" NGI\n");
  881. }
  882. PRIVATE PrNOPz() {
  883. printf(" NOP\n");
  884. }
  885. PRIVATE PrRCKl2(arg) long arg;
  886. {
  887. printf(" RCK %ld\n", Lt_arg_2() * arg);
  888. }
  889. PRIVATE PrRCKm(arg) long arg;
  890. {
  891. printf(" RCK %ld\n", arg);
  892. }
  893. PRIVATE PrRCKz() {
  894. printf(" RCK\n");
  895. }
  896. PRIVATE PrRETl2(arg) long arg;
  897. {
  898. printf(" RET %ld\n", Lt_arg_2() * arg);
  899. }
  900. PRIVATE PrRETm(arg) long arg;
  901. {
  902. printf(" RET %ld\n", arg);
  903. }
  904. PRIVATE PrRETs(hob, wfac) long hob; size wfac;
  905. {
  906. printf(" RET %ld\n", St_arg(hob) * wfac);
  907. }
  908. PRIVATE PrRMIl2(arg) long arg;
  909. {
  910. printf(" RMI %ld\n", Lt_arg_2() * arg);
  911. }
  912. PRIVATE PrRMIm(arg) long arg;
  913. {
  914. printf(" RMI %ld\n", arg);
  915. }
  916. PRIVATE PrRMIz() {
  917. printf(" RMI\n");
  918. }
  919. PRIVATE PrRMUl2(arg) long arg;
  920. {
  921. printf(" RMU %ld\n", Lt_arg_2() * arg);
  922. }
  923. PRIVATE PrRMUz() {
  924. printf(" RMU\n");
  925. }
  926. PRIVATE PrROLl2(arg) long arg;
  927. {
  928. printf(" ROL %ld\n", Lt_arg_2() * arg);
  929. }
  930. PRIVATE PrROLz() {
  931. printf(" ROL\n");
  932. }
  933. PRIVATE PrRORl2(arg) long arg;
  934. {
  935. printf(" ROR %ld\n", Lt_arg_2() * arg);
  936. }
  937. PRIVATE PrRORz() {
  938. printf(" ROR\n");
  939. }
  940. PRIVATE PrRTTz() {
  941. printf(" RTT\n");
  942. }
  943. PRIVATE PrSARl2(arg) long arg;
  944. {
  945. printf(" SAR %ld\n", Lt_arg_2() * arg);
  946. }
  947. PRIVATE PrSARm(arg) long arg;
  948. {
  949. printf(" SAR %ld\n", arg);
  950. }
  951. PRIVATE PrSARz() {
  952. printf(" SAR\n");
  953. }
  954. PRIVATE PrSBFl2(arg) long arg;
  955. {
  956. printf(" SBF %ld\n", Lt_arg_2() * arg);
  957. }
  958. PRIVATE PrSBFs(hob, wfac) long hob; size wfac;
  959. {
  960. printf(" SBF %ld\n", St_arg(hob) * wfac);
  961. }
  962. PRIVATE PrSBFz() {
  963. printf(" SBF\n");
  964. }
  965. PRIVATE PrSBIl2(arg) long arg;
  966. {
  967. printf(" SBI %ld\n", Lt_arg_2() * arg);
  968. }
  969. PRIVATE PrSBIm(arg) long arg;
  970. {
  971. printf(" SBI %ld\n", arg);
  972. }
  973. PRIVATE PrSBIz() {
  974. printf(" SBI\n");
  975. }
  976. PRIVATE PrSBSl2(arg) long arg;
  977. {
  978. printf(" SBS %ld\n", Lt_arg_2() * arg);
  979. }
  980. PRIVATE PrSBSz() {
  981. printf(" SBS\n");
  982. }
  983. PRIVATE PrSBUl2(arg) long arg;
  984. {
  985. printf(" SBU %ld\n", Lt_arg_2() * arg);
  986. }
  987. PRIVATE PrSBUz() {
  988. printf(" SBU\n");
  989. }
  990. PRIVATE PrSDEu(arg) long arg;
  991. {
  992. printf(" SDE %ld\n", Ut_arg() * arg);
  993. }
  994. PRIVATE PrSDEl4(arg) long arg;
  995. {
  996. printf(" SDE %ld\n", Lt_arg_4() * arg);
  997. }
  998. PRIVATE PrSDFl2(arg) long arg;
  999. {
  1000. printf(" SDF %ld\n", Lt_arg_2() * arg);
  1001. }
  1002. PRIVATE PrSDFl4(arg) long arg;
  1003. {
  1004. printf(" SDF %ld\n", Lt_arg_4() * arg);
  1005. }
  1006. PRIVATE PrSDLn2(arg) long arg;
  1007. {
  1008. printf(" SDL %ld\n", Nt_arg_2() * arg);
  1009. }
  1010. PRIVATE PrSDLn4(arg) long arg;
  1011. {
  1012. printf(" SDL %ld\n", Nt_arg_4() * arg);
  1013. }
  1014. PRIVATE PrSDLp2(arg) long arg;
  1015. {
  1016. printf(" SDL %ld\n", Pt_arg_2() * arg);
  1017. }
  1018. PRIVATE PrSDLp4(arg) long arg;
  1019. {
  1020. printf(" SDL %ld\n", Pt_arg_4() * arg);
  1021. }
  1022. PRIVATE PrSDLs(hob, wfac) long hob; size wfac;
  1023. {
  1024. printf(" SDL %ld\n", St_arg(hob) * wfac);
  1025. }
  1026. PRIVATE PrSETl2(arg) long arg;
  1027. {
  1028. printf(" SET %ld\n", Lt_arg_2() * arg);
  1029. }
  1030. PRIVATE PrSETs(hob, wfac) long hob; size wfac;
  1031. {
  1032. printf(" SET %ld\n", St_arg(hob) * wfac);
  1033. }
  1034. PRIVATE PrSETz() {
  1035. printf(" SET\n");
  1036. }
  1037. PRIVATE PrSIGz() {
  1038. printf(" SIG\n");
  1039. }
  1040. PRIVATE PrSILn2(arg) long arg;
  1041. {
  1042. printf(" SIL %ld\n", Nt_arg_2() * arg);
  1043. }
  1044. PRIVATE PrSILn4(arg) long arg;
  1045. {
  1046. printf(" SIL %ld\n", Nt_arg_4() * arg);
  1047. }
  1048. PRIVATE PrSILp2(arg) long arg;
  1049. {
  1050. printf(" SIL %ld\n", Pt_arg_2() * arg);
  1051. }
  1052. PRIVATE PrSILp4(arg) long arg;
  1053. {
  1054. printf(" SIL %ld\n", Pt_arg_4() * arg);
  1055. }
  1056. PRIVATE PrSILs(hob, wfac) long hob; size wfac;
  1057. {
  1058. printf(" SIL %ld\n", St_arg(hob) * wfac);
  1059. }
  1060. PRIVATE PrSIMz() {
  1061. printf(" SIM\n");
  1062. }
  1063. PRIVATE PrSLIl2(arg) long arg;
  1064. {
  1065. printf(" SLI %ld\n", Lt_arg_2() * arg);
  1066. }
  1067. PRIVATE PrSLIm(arg) long arg;
  1068. {
  1069. printf(" SLI %ld\n", arg);
  1070. }
  1071. PRIVATE PrSLIz() {
  1072. printf(" SLI\n");
  1073. }
  1074. PRIVATE PrSLUl2(arg) long arg;
  1075. {
  1076. printf(" SLU %ld\n", Lt_arg_2() * arg);
  1077. }
  1078. PRIVATE PrSLUz() {
  1079. printf(" SLU\n");
  1080. }
  1081. PRIVATE PrSRIl2(arg) long arg;
  1082. {
  1083. printf(" SRI %ld\n", Lt_arg_2() * arg);
  1084. }
  1085. PRIVATE PrSRIz() {
  1086. printf(" SRI\n");
  1087. }
  1088. PRIVATE PrSRUl2(arg) long arg;
  1089. {
  1090. printf(" SRU %ld\n", Lt_arg_2() * arg);
  1091. }
  1092. PRIVATE PrSRUz() {
  1093. printf(" SRU\n");
  1094. }
  1095. PRIVATE PrSTEl2(arg) long arg;
  1096. {
  1097. printf(" STE %ld\n", Lt_arg_2() * arg);
  1098. }
  1099. PRIVATE PrSTEl4(arg) long arg;
  1100. {
  1101. printf(" STE %ld\n", Lt_arg_4() * arg);
  1102. }
  1103. PRIVATE PrSTEs(hob, wfac) long hob; size wfac;
  1104. {
  1105. printf(" STE %ld\n", St_arg(hob) * wfac);
  1106. }
  1107. PRIVATE PrSTFl2(arg) long arg;
  1108. {
  1109. printf(" STF %ld\n", Lt_arg_2() * arg);
  1110. }
  1111. PRIVATE PrSTFl4(arg) long arg;
  1112. {
  1113. printf(" STF %ld\n", Lt_arg_4() * arg);
  1114. }
  1115. PRIVATE PrSTFm(arg) long arg;
  1116. {
  1117. printf(" STF %ld\n", arg);
  1118. }
  1119. PRIVATE PrSTFs(hob, wfac) long hob; size wfac;
  1120. {
  1121. printf(" STF %ld\n", St_arg(hob) * wfac);
  1122. }
  1123. PRIVATE PrSTIl2(arg) long arg;
  1124. {
  1125. printf(" STI %ld\n", Lt_arg_2() * arg);
  1126. }
  1127. PRIVATE PrSTIl4(arg) long arg;
  1128. {
  1129. printf(" STI %ld\n", Lt_arg_4() * arg);
  1130. }
  1131. PRIVATE PrSTIm(arg) long arg;
  1132. {
  1133. printf(" STI %ld\n", arg);
  1134. }
  1135. PRIVATE PrSTIs(hob, wfac) long hob; size wfac;
  1136. {
  1137. printf(" STI %ld\n", St_arg(hob) * wfac);
  1138. }
  1139. PRIVATE PrSTLm(arg) long arg;
  1140. {
  1141. printf(" STL %ld\n", arg);
  1142. }
  1143. PRIVATE PrSTLn2(arg) long arg;
  1144. {
  1145. printf(" STL %ld\n", Nt_arg_2() * arg);
  1146. }
  1147. PRIVATE PrSTLn4(arg) long arg;
  1148. {
  1149. printf(" STL %ld\n", Nt_arg_4() * arg);
  1150. }
  1151. PRIVATE PrSTLp2(arg) long arg;
  1152. {
  1153. printf(" STL %ld\n", Pt_arg_2() * arg);
  1154. }
  1155. PRIVATE PrSTLp4(arg) long arg;
  1156. {
  1157. printf(" STL %ld\n", Pt_arg_4() * arg);
  1158. }
  1159. PRIVATE PrSTLs(hob, wfac) long hob; size wfac;
  1160. {
  1161. printf(" STL %ld\n", St_arg(hob) * wfac);
  1162. }
  1163. PRIVATE PrSTRs(hob, wfac) long hob; size wfac;
  1164. {
  1165. printf(" STR %ld\n", St_arg(hob) * wfac);
  1166. }
  1167. PRIVATE PrSTSl2(arg) long arg;
  1168. {
  1169. printf(" STS %ld\n", Lt_arg_2() * arg);
  1170. }
  1171. PRIVATE PrSTSz() {
  1172. printf(" STS\n");
  1173. }
  1174. PRIVATE PrTEQz() {
  1175. printf(" TEQ\n");
  1176. }
  1177. PRIVATE PrTGEz() {
  1178. printf(" TGE\n");
  1179. }
  1180. PRIVATE PrTGTz() {
  1181. printf(" TGT\n");
  1182. }
  1183. PRIVATE PrTLEz() {
  1184. printf(" TLE\n");
  1185. }
  1186. PRIVATE PrTLTz() {
  1187. printf(" TLT\n");
  1188. }
  1189. PRIVATE PrTNEz() {
  1190. printf(" TNE\n");
  1191. }
  1192. PRIVATE PrTRPz() {
  1193. printf(" TRP\n");
  1194. }
  1195. PRIVATE PrXORl2(arg) long arg;
  1196. {
  1197. printf(" XOR %ld\n", Lt_arg_2() * arg);
  1198. }
  1199. PRIVATE PrXORz() {
  1200. printf(" XOR\n");
  1201. }
  1202. PRIVATE PrZEQl2(arg) long arg;
  1203. {
  1204. printf(" ZEQ %ld\n", Lt_arg_2() * arg);
  1205. }
  1206. PRIVATE PrZEQl4(arg) long arg;
  1207. {
  1208. printf(" ZEQ %ld\n", Lt_arg_4() * arg);
  1209. }
  1210. PRIVATE PrZEQs(hob, wfac) long hob; size wfac;
  1211. {
  1212. printf(" ZEQ %ld\n", St_arg(hob) * wfac);
  1213. }
  1214. PRIVATE PrZERl2(arg) long arg;
  1215. {
  1216. printf(" ZER %ld\n", Lt_arg_2() * arg);
  1217. }
  1218. PRIVATE PrZERs(hob, wfac) long hob; size wfac;
  1219. {
  1220. printf(" ZER %ld\n", St_arg(hob) * wfac);
  1221. }
  1222. PRIVATE PrZERz() {
  1223. printf(" ZER\n");
  1224. }
  1225. PRIVATE PrZGEl2(arg) long arg;
  1226. {
  1227. printf(" ZGE %ld\n", Lt_arg_2() * arg);
  1228. }
  1229. PRIVATE PrZGEl4(arg) long arg;
  1230. {
  1231. printf(" ZGE %ld\n", Lt_arg_4() * arg);
  1232. }
  1233. PRIVATE PrZGEs(hob, wfac) long hob; size wfac;
  1234. {
  1235. printf(" ZGE %ld\n", St_arg(hob) * wfac);
  1236. }
  1237. PRIVATE PrZGTl2(arg) long arg;
  1238. {
  1239. printf(" ZGT %ld\n", Lt_arg_2() * arg);
  1240. }
  1241. PRIVATE PrZGTl4(arg) long arg;
  1242. {
  1243. printf(" ZGT %ld\n", Lt_arg_4() * arg);
  1244. }
  1245. PRIVATE PrZGTs(hob, wfac) long hob; size wfac;
  1246. {
  1247. printf(" ZGT %ld\n", St_arg(hob) * wfac);
  1248. }
  1249. PRIVATE PrZLEl2(arg) long arg;
  1250. {
  1251. printf(" ZLE %ld\n", Lt_arg_2() * arg);
  1252. }
  1253. PRIVATE PrZLEl4(arg) long arg;
  1254. {
  1255. printf(" ZLE %ld\n", Lt_arg_4() * arg);
  1256. }
  1257. PRIVATE PrZLEs(hob, wfac) long hob; size wfac;
  1258. {
  1259. printf(" ZLE %ld\n", St_arg(hob) * wfac);
  1260. }
  1261. PRIVATE PrZLTl2(arg) long arg;
  1262. {
  1263. printf(" ZLT %ld\n", Lt_arg_2() * arg);
  1264. }
  1265. PRIVATE PrZLTl4(arg) long arg;
  1266. {
  1267. printf(" ZLT %ld\n", Lt_arg_4() * arg);
  1268. }
  1269. PRIVATE PrZLTs(hob, wfac) long hob; size wfac;
  1270. {
  1271. printf(" ZLT %ld\n", St_arg(hob) * wfac);
  1272. }
  1273. PRIVATE PrZNEl2(arg) long arg;
  1274. {
  1275. printf(" ZNE %ld\n", Lt_arg_2() * arg);
  1276. }
  1277. PRIVATE PrZNEl4(arg) long arg;
  1278. {
  1279. printf(" ZNE %ld\n", Lt_arg_4() * arg);
  1280. }
  1281. PRIVATE PrZNEs(hob, wfac) long hob; size wfac;
  1282. {
  1283. printf(" ZNE %ld\n", St_arg(hob) * wfac);
  1284. }
  1285. PRIVATE PrZREl2(arg) long arg;
  1286. {
  1287. printf(" ZRE %ld\n", Lt_arg_2() * arg);
  1288. }
  1289. PRIVATE PrZREl4(arg) long arg;
  1290. {
  1291. printf(" ZRE %ld\n", Lt_arg_4() * arg);
  1292. }
  1293. PRIVATE PrZREs(hob, wfac) long hob; size wfac;
  1294. {
  1295. printf(" ZRE %ld\n", St_arg(hob) * wfac);
  1296. }
  1297. PRIVATE PrZRFl2(arg) long arg;
  1298. {
  1299. printf(" ZRF %ld\n", Lt_arg_2() * arg);
  1300. }
  1301. PRIVATE PrZRFz() {
  1302. printf(" ZRF\n");
  1303. }
  1304. PRIVATE PrZRLm(arg) long arg;
  1305. {
  1306. printf(" ZRL %ld\n", arg);
  1307. }
  1308. PRIVATE PrZRLn2(arg) long arg;
  1309. {
  1310. printf(" ZRL %ld\n", Nt_arg_2() * arg);
  1311. }
  1312. PRIVATE PrZRLn4(arg) long arg;
  1313. {
  1314. printf(" ZRL %ld\n", Nt_arg_4() * arg);
  1315. }
  1316. PRIVATE PrZRLp2(arg) long arg;
  1317. {
  1318. printf(" ZRL %ld\n", Pt_arg_2() * arg);
  1319. }
  1320. PRIVATE PrZRLp4(arg) long arg;
  1321. {
  1322. printf(" ZRL %ld\n", Pt_arg_4() * arg);
  1323. }
  1324. PRIVATE PrZRLs(hob, wfac) long hob; size wfac;
  1325. {
  1326. printf(" ZRL %ld\n", St_arg(hob) * wfac);
  1327. }
  1328. /* Original code! */
  1329. /******** Disassembly of Text Segment ********/
  1330. struct ep { /* procedure entry points */
  1331. int ep_idf;
  1332. ptr ep_ep;
  1333. size ep_nloc;
  1334. };
  1335. disassemble()
  1336. {
  1337. register ptr low = 0;
  1338. register ptr high = DB;
  1339. register int idf;
  1340. register int cnt;
  1341. struct ep *ep; /* list of entry points */
  1342. /* collect the entry points */
  1343. ep = (struct ep *)Malloc((size)(NProc * sizeof (struct ep)),
  1344. "entry points");
  1345. for (idf = 0; idf < NProc; idf++) {
  1346. register struct proc *pr = &proctab[idf];
  1347. ep[idf].ep_idf = idf;
  1348. ep[idf].ep_ep = pr->pr_ep;
  1349. ep[idf].ep_nloc = pr->pr_nloc;
  1350. }
  1351. /* a very naive sorting algorithm */
  1352. for (idf = 0; idf < NProc; idf++) {
  1353. register int jdf;
  1354. for (jdf = 0; jdf < NProc; jdf++) {
  1355. if ( (ep[idf].ep_ep < ep[jdf].ep_ep)
  1356. != (idf < jdf)
  1357. ) {
  1358. struct ep p;
  1359. p = ep[idf];
  1360. ep[idf] = ep[jdf];
  1361. ep[jdf] = p;
  1362. }
  1363. }
  1364. }
  1365. TC = low;
  1366. cnt = 0;
  1367. idf = 0;
  1368. while (TC < high) {
  1369. if (cnt == 0) {
  1370. printf("%lu\n", TC);
  1371. }
  1372. cnt = (cnt + 1) % 10;
  1373. if (idf < NProc && TC >=ep[idf].ep_ep) {
  1374. register struct ep *p = &ep[idf];
  1375. printf("P[%d]+%lu: ; %ld %s\n",
  1376. p->ep_idf, TC - p->ep_ep,
  1377. p->ep_nloc,
  1378. p->ep_nloc == 1 ? "local" : "locals");
  1379. idf++;
  1380. }
  1381. do_pr_instr(nextTCbyte()); /* advances TC */
  1382. }
  1383. }
  1384. /* See switch.c */
  1385. PRIVATE do_pr_instr(opcode)
  1386. unsigned int opcode;
  1387. {
  1388. switch (opcode) {
  1389. #include "switch/PrCases" /* for the muscle */
  1390. case SECONDARY:
  1391. do_pr_instr(SEC_BASE + nextTCbyte());
  1392. break;
  1393. case TERTIARY:
  1394. do_pr_instr(TERT_BASE + nextTCbyte());
  1395. break;
  1396. default:
  1397. printf(">>>> bad opcode %u at PC = %lu <<<<\n",
  1398. opcode, TC);
  1399. break;
  1400. }
  1401. }