123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303 |
- #ifndef NORCSID
- static char rcsid[] = "$Header$";
- #endif
- #include "nopt.h"
- static Linenumber = 0; /* Local optimization of lin to lni if possible */
- OO_mkcalls(p)
- struct instr *p;
- {
- switch(p->opcode) {
- case op_aar:
- O_aar(p->acst); break;
- case op_adf:
- O_adf(p->acst); break;
- case op_adi:
- O_adi(p->acst); break;
- case op_adp:
- O_adp(p->acst); break;
- case op_ads:
- O_ads(p->acst); break;
- case op_adu:
- O_adu(p->acst); break;
- case op_and:
- O_and(p->acst); break;
- case op_asp:
- O_asp(p->acst); break;
- case op_ass:
- O_ass(p->acst); break;
- case op_beq:
- O_beq((label)p->acst); break;
- case op_bge:
- O_bge((label)p->acst); break;
- case op_bgt:
- O_bgt((label)p->acst); break;
- case op_ble:
- O_ble((label)p->acst); break;
- case op_blm:
- O_blm(p->acst); break;
- case op_bls:
- O_bls(p->acst); break;
- case op_blt:
- O_blt((label)p->acst); break;
- case op_bne:
- O_bne((label)p->acst); break;
- case op_bra:
- O_bra((label)p->acst); break;
- case op_cai:
- O_cai(); break;
- case op_cal:
- O_cal(p->apnam); break;
- case op_cff:
- O_cff(); break;
- case op_cfi:
- O_cfi(); break;
- case op_cfu:
- O_cfu(); break;
- case op_cif:
- O_cif(); break;
- case op_cii:
- O_cii(); break;
- case op_ciu:
- O_ciu(); break;
- case op_cmf:
- O_cmf(p->acst); break;
- case op_cmi:
- O_cmi(p->acst); break;
- case op_cmp:
- O_cmp(); break;
- case op_cms:
- O_cms(p->acst); break;
- case op_cmu:
- O_cmu(p->acst); break;
- case op_com:
- O_com(p->acst); break;
- case op_csa:
- O_csa(p->acst); break;
- case op_csb:
- O_csb(p->acst); break;
- case op_cuf:
- O_cuf(); break;
- case op_cui:
- O_cui(); break;
- case op_cuu:
- O_cuu(); break;
- case op_dch:
- O_dch(); break;
- case op_dec:
- O_dec(); break;
- case op_dee:
- if(p->argtype==nof_ptyp) O_dee_dlb(p->adlb, p->anoff);
- else O_dee_dnam(p->adnam, p->asoff); break;
- case op_del:
- O_del(p->acst); break;
- case op_dup:
- O_dup(p->acst); break;
- case op_dus:
- O_dus(p->acst); break;
- case op_dvf:
- O_dvf(p->acst); break;
- case op_dvi:
- O_dvi(p->acst); break;
- case op_dvu:
- O_dvu(p->acst); break;
- case op_exg:
- O_exg(p->acst); break;
- case op_fef:
- O_fef(p->acst); break;
- case op_fif:
- O_fif(p->acst); break;
- case op_fil:
- Linenumber = 0;
- if(p->argtype==nof_ptyp) O_fil_dlb(p->adlb, p->anoff);
- else O_fil_dnam(p->adnam, p->asoff); break;
- case op_gto:
- if(p->argtype==nof_ptyp) O_gto_dlb(p->adlb, p->anoff);
- else O_gto_dnam(p->adnam, p->asoff); break;
- case op_inc:
- O_inc(); break;
- case op_ine:
- if(p->argtype==nof_ptyp) O_ine_dlb(p->adlb, p->anoff);
- else O_ine_dnam(p->adnam, p->asoff); break;
- case op_inl:
- O_inl(p->acst); break;
- case op_inn:
- O_inn(p->acst); break;
- case op_ior:
- O_ior(p->acst); break;
- case op_lab:
- Linenumber = 0;
- O_df_ilb(p->alab); break;
- case op_lae:
- if(p->argtype==nof_ptyp) O_lae_dlb(p->adlb, p->anoff);
- else O_lae_dnam(p->adnam, p->asoff); break;
- case op_lal:
- O_lal(p->acst); break;
- case op_lar:
- O_lar(p->acst); break;
- case op_ldc:
- O_ldc(p->acst); break;
- case op_lde:
- if(p->argtype==nof_ptyp) O_lde_dlb(p->adlb, p->anoff);
- else O_lde_dnam(p->adnam, p->asoff); break;
- case op_ldf:
- O_ldf(p->acst); break;
- case op_ldl:
- O_ldl(p->acst); break;
- case op_lfr:
- O_lfr(p->acst); break;
- case op_lil:
- O_lil(p->acst); break;
- case op_lim:
- O_lim(); break;
- case op_lin:
- if(Linenumber && p->acst == ++Linenumber) {
- O_lni();
- }
- else {
- O_lin(p->acst);
- Linenumber = p->acst;
- }
- break;
- case op_lni:
- O_lni();
- Linenumber++;
- break;
- case op_loc:
- O_loc(p->acst); break;
- case op_loe:
- if(p->argtype==nof_ptyp) O_loe_dlb(p->adlb, p->anoff);
- else O_loe_dnam(p->adnam, p->asoff); break;
- case op_lof:
- O_lof(p->acst); break;
- case op_loi:
- O_loi(p->acst); break;
- case op_lol:
- O_lol(p->acst); break;
- case op_lor:
- O_lor(p->acst); break;
- case op_los:
- O_los(p->acst); break;
- case op_lpb:
- O_lpb(); break;
- case op_lpi:
- O_lpi(p->apnam); break;
- case op_lxa:
- O_lxa(p->acst); break;
- case op_lxl:
- O_lxl(p->acst); break;
- case op_mlf:
- O_mlf(p->acst); break;
- case op_mli:
- O_mli(p->acst); break;
- case op_mlu:
- O_mlu(p->acst); break;
- case op_mon:
- O_mon(); break;
- case op_ngf:
- O_ngf(p->acst); break;
- case op_ngi:
- O_ngi(p->acst); break;
- case op_nop:
- O_nop(); break;
- case op_rck:
- O_rck(p->acst); break;
- case op_ret:
- O_ret(p->acst); break;
- case op_rmi:
- O_rmi(p->acst); break;
- case op_rmu:
- O_rmu(p->acst); break;
- case op_rol:
- O_rol(p->acst); break;
- case op_ror:
- O_ror(p->acst); break;
- case op_rtt:
- O_rtt(); break;
- case op_sar:
- O_sar(p->acst); break;
- case op_sbf:
- O_sbf(p->acst); break;
- case op_sbi:
- O_sbi(p->acst); break;
- case op_sbs:
- O_sbs(p->acst); break;
- case op_sbu:
- O_sbu(p->acst); break;
- case op_sde:
- if(p->argtype==nof_ptyp) O_sde_dlb(p->adlb, p->anoff);
- else O_sde_dnam(p->adnam, p->asoff); break;
- case op_sdf:
- O_sdf(p->acst); break;
- case op_sdl:
- O_sdl(p->acst); break;
- case op_set:
- O_set(p->acst); break;
- case op_sig:
- O_sig(); break;
- case op_sil:
- O_sil(p->acst); break;
- case op_sim:
- O_sim(); break;
- case op_sli:
- O_sli(p->acst); break;
- case op_slu:
- O_slu(p->acst); break;
- case op_sri:
- O_sri(p->acst); break;
- case op_sru:
- O_sru(p->acst); break;
- case op_ste:
- if(p->argtype==nof_ptyp) O_ste_dlb(p->adlb, p->anoff);
- else O_ste_dnam(p->adnam, p->asoff); break;
- case op_stf:
- O_stf(p->acst); break;
- case op_sti:
- O_sti(p->acst); break;
- case op_stl:
- O_stl(p->acst); break;
- case op_str:
- O_str(p->acst); break;
- case op_sts:
- O_sts(p->acst); break;
- case op_teq:
- O_teq(); break;
- case op_tge:
- O_tge(); break;
- case op_tgt:
- O_tgt(); break;
- case op_tle:
- O_tle(); break;
- case op_tlt:
- O_tlt(); break;
- case op_tne:
- O_tne(); break;
- case op_trp:
- O_trp(); break;
- case op_xor:
- O_xor(p->acst); break;
- case op_zeq:
- O_zeq((label)p->acst); break;
- case op_zer:
- O_zer(p->acst); break;
- case op_zge:
- O_zge((label)p->acst); break;
- case op_zgt:
- O_zgt((label)p->acst); break;
- case op_zle:
- O_zle((label)p->acst); break;
- case op_zlt:
- O_zlt((label)p->acst); break;
- case op_zne:
- O_zne((label)p->acst); break;
- case op_zre:
- if(p->argtype==nof_ptyp) O_zre_dlb(p->adlb, p->anoff);
- else O_zre_dnam(p->adnam, p->asoff); break;
- case op_zrf:
- O_zrf(p->acst); break;
- case op_zrl:
- O_zrl(p->acst); break;
- }
- }
|