mkcalls.c 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303
  1. #ifndef NORCSID
  2. static char rcsid[] = "$Header$";
  3. #endif
  4. #include "nopt.h"
  5. static Linenumber = 0; /* Local optimization of lin to lni if possible */
  6. OO_mkcalls(p)
  7. struct instr *p;
  8. {
  9. switch(p->opcode) {
  10. case op_aar:
  11. O_aar(p->acst); break;
  12. case op_adf:
  13. O_adf(p->acst); break;
  14. case op_adi:
  15. O_adi(p->acst); break;
  16. case op_adp:
  17. O_adp(p->acst); break;
  18. case op_ads:
  19. O_ads(p->acst); break;
  20. case op_adu:
  21. O_adu(p->acst); break;
  22. case op_and:
  23. O_and(p->acst); break;
  24. case op_asp:
  25. O_asp(p->acst); break;
  26. case op_ass:
  27. O_ass(p->acst); break;
  28. case op_beq:
  29. O_beq((label)p->acst); break;
  30. case op_bge:
  31. O_bge((label)p->acst); break;
  32. case op_bgt:
  33. O_bgt((label)p->acst); break;
  34. case op_ble:
  35. O_ble((label)p->acst); break;
  36. case op_blm:
  37. O_blm(p->acst); break;
  38. case op_bls:
  39. O_bls(p->acst); break;
  40. case op_blt:
  41. O_blt((label)p->acst); break;
  42. case op_bne:
  43. O_bne((label)p->acst); break;
  44. case op_bra:
  45. O_bra((label)p->acst); break;
  46. case op_cai:
  47. O_cai(); break;
  48. case op_cal:
  49. O_cal(p->apnam); break;
  50. case op_cff:
  51. O_cff(); break;
  52. case op_cfi:
  53. O_cfi(); break;
  54. case op_cfu:
  55. O_cfu(); break;
  56. case op_cif:
  57. O_cif(); break;
  58. case op_cii:
  59. O_cii(); break;
  60. case op_ciu:
  61. O_ciu(); break;
  62. case op_cmf:
  63. O_cmf(p->acst); break;
  64. case op_cmi:
  65. O_cmi(p->acst); break;
  66. case op_cmp:
  67. O_cmp(); break;
  68. case op_cms:
  69. O_cms(p->acst); break;
  70. case op_cmu:
  71. O_cmu(p->acst); break;
  72. case op_com:
  73. O_com(p->acst); break;
  74. case op_csa:
  75. O_csa(p->acst); break;
  76. case op_csb:
  77. O_csb(p->acst); break;
  78. case op_cuf:
  79. O_cuf(); break;
  80. case op_cui:
  81. O_cui(); break;
  82. case op_cuu:
  83. O_cuu(); break;
  84. case op_dch:
  85. O_dch(); break;
  86. case op_dec:
  87. O_dec(); break;
  88. case op_dee:
  89. if(p->argtype==nof_ptyp) O_dee_dlb(p->adlb, p->anoff);
  90. else O_dee_dnam(p->adnam, p->asoff); break;
  91. case op_del:
  92. O_del(p->acst); break;
  93. case op_dup:
  94. O_dup(p->acst); break;
  95. case op_dus:
  96. O_dus(p->acst); break;
  97. case op_dvf:
  98. O_dvf(p->acst); break;
  99. case op_dvi:
  100. O_dvi(p->acst); break;
  101. case op_dvu:
  102. O_dvu(p->acst); break;
  103. case op_exg:
  104. O_exg(p->acst); break;
  105. case op_fef:
  106. O_fef(p->acst); break;
  107. case op_fif:
  108. O_fif(p->acst); break;
  109. case op_fil:
  110. Linenumber = 0;
  111. if(p->argtype==nof_ptyp) O_fil_dlb(p->adlb, p->anoff);
  112. else O_fil_dnam(p->adnam, p->asoff); break;
  113. case op_gto:
  114. if(p->argtype==nof_ptyp) O_gto_dlb(p->adlb, p->anoff);
  115. else O_gto_dnam(p->adnam, p->asoff); break;
  116. case op_inc:
  117. O_inc(); break;
  118. case op_ine:
  119. if(p->argtype==nof_ptyp) O_ine_dlb(p->adlb, p->anoff);
  120. else O_ine_dnam(p->adnam, p->asoff); break;
  121. case op_inl:
  122. O_inl(p->acst); break;
  123. case op_inn:
  124. O_inn(p->acst); break;
  125. case op_ior:
  126. O_ior(p->acst); break;
  127. case op_lab:
  128. Linenumber = 0;
  129. O_df_ilb(p->alab); break;
  130. case op_lae:
  131. if(p->argtype==nof_ptyp) O_lae_dlb(p->adlb, p->anoff);
  132. else O_lae_dnam(p->adnam, p->asoff); break;
  133. case op_lal:
  134. O_lal(p->acst); break;
  135. case op_lar:
  136. O_lar(p->acst); break;
  137. case op_ldc:
  138. O_ldc(p->acst); break;
  139. case op_lde:
  140. if(p->argtype==nof_ptyp) O_lde_dlb(p->adlb, p->anoff);
  141. else O_lde_dnam(p->adnam, p->asoff); break;
  142. case op_ldf:
  143. O_ldf(p->acst); break;
  144. case op_ldl:
  145. O_ldl(p->acst); break;
  146. case op_lfr:
  147. O_lfr(p->acst); break;
  148. case op_lil:
  149. O_lil(p->acst); break;
  150. case op_lim:
  151. O_lim(); break;
  152. case op_lin:
  153. if(Linenumber && p->acst == ++Linenumber) {
  154. O_lni();
  155. }
  156. else {
  157. O_lin(p->acst);
  158. Linenumber = p->acst;
  159. }
  160. break;
  161. case op_lni:
  162. O_lni();
  163. Linenumber++;
  164. break;
  165. case op_loc:
  166. O_loc(p->acst); break;
  167. case op_loe:
  168. if(p->argtype==nof_ptyp) O_loe_dlb(p->adlb, p->anoff);
  169. else O_loe_dnam(p->adnam, p->asoff); break;
  170. case op_lof:
  171. O_lof(p->acst); break;
  172. case op_loi:
  173. O_loi(p->acst); break;
  174. case op_lol:
  175. O_lol(p->acst); break;
  176. case op_lor:
  177. O_lor(p->acst); break;
  178. case op_los:
  179. O_los(p->acst); break;
  180. case op_lpb:
  181. O_lpb(); break;
  182. case op_lpi:
  183. O_lpi(p->apnam); break;
  184. case op_lxa:
  185. O_lxa(p->acst); break;
  186. case op_lxl:
  187. O_lxl(p->acst); break;
  188. case op_mlf:
  189. O_mlf(p->acst); break;
  190. case op_mli:
  191. O_mli(p->acst); break;
  192. case op_mlu:
  193. O_mlu(p->acst); break;
  194. case op_mon:
  195. O_mon(); break;
  196. case op_ngf:
  197. O_ngf(p->acst); break;
  198. case op_ngi:
  199. O_ngi(p->acst); break;
  200. case op_nop:
  201. O_nop(); break;
  202. case op_rck:
  203. O_rck(p->acst); break;
  204. case op_ret:
  205. O_ret(p->acst); break;
  206. case op_rmi:
  207. O_rmi(p->acst); break;
  208. case op_rmu:
  209. O_rmu(p->acst); break;
  210. case op_rol:
  211. O_rol(p->acst); break;
  212. case op_ror:
  213. O_ror(p->acst); break;
  214. case op_rtt:
  215. O_rtt(); break;
  216. case op_sar:
  217. O_sar(p->acst); break;
  218. case op_sbf:
  219. O_sbf(p->acst); break;
  220. case op_sbi:
  221. O_sbi(p->acst); break;
  222. case op_sbs:
  223. O_sbs(p->acst); break;
  224. case op_sbu:
  225. O_sbu(p->acst); break;
  226. case op_sde:
  227. if(p->argtype==nof_ptyp) O_sde_dlb(p->adlb, p->anoff);
  228. else O_sde_dnam(p->adnam, p->asoff); break;
  229. case op_sdf:
  230. O_sdf(p->acst); break;
  231. case op_sdl:
  232. O_sdl(p->acst); break;
  233. case op_set:
  234. O_set(p->acst); break;
  235. case op_sig:
  236. O_sig(); break;
  237. case op_sil:
  238. O_sil(p->acst); break;
  239. case op_sim:
  240. O_sim(); break;
  241. case op_sli:
  242. O_sli(p->acst); break;
  243. case op_slu:
  244. O_slu(p->acst); break;
  245. case op_sri:
  246. O_sri(p->acst); break;
  247. case op_sru:
  248. O_sru(p->acst); break;
  249. case op_ste:
  250. if(p->argtype==nof_ptyp) O_ste_dlb(p->adlb, p->anoff);
  251. else O_ste_dnam(p->adnam, p->asoff); break;
  252. case op_stf:
  253. O_stf(p->acst); break;
  254. case op_sti:
  255. O_sti(p->acst); break;
  256. case op_stl:
  257. O_stl(p->acst); break;
  258. case op_str:
  259. O_str(p->acst); break;
  260. case op_sts:
  261. O_sts(p->acst); break;
  262. case op_teq:
  263. O_teq(); break;
  264. case op_tge:
  265. O_tge(); break;
  266. case op_tgt:
  267. O_tgt(); break;
  268. case op_tle:
  269. O_tle(); break;
  270. case op_tlt:
  271. O_tlt(); break;
  272. case op_tne:
  273. O_tne(); break;
  274. case op_trp:
  275. O_trp(); break;
  276. case op_xor:
  277. O_xor(p->acst); break;
  278. case op_zeq:
  279. O_zeq((label)p->acst); break;
  280. case op_zer:
  281. O_zer(p->acst); break;
  282. case op_zge:
  283. O_zge((label)p->acst); break;
  284. case op_zgt:
  285. O_zgt((label)p->acst); break;
  286. case op_zle:
  287. O_zle((label)p->acst); break;
  288. case op_zlt:
  289. O_zlt((label)p->acst); break;
  290. case op_zne:
  291. O_zne((label)p->acst); break;
  292. case op_zre:
  293. if(p->argtype==nof_ptyp) O_zre_dlb(p->adlb, p->anoff);
  294. else O_zre_dnam(p->adnam, p->asoff); break;
  295. case op_zrf:
  296. O_zrf(p->acst); break;
  297. case op_zrl:
  298. O_zrl(p->acst); break;
  299. }
  300. }