From d9e61fe7a8df5930c2dac481acd14b16eef93c06 Mon Sep 17 00:00:00 2001 From: Michael Munday Date: Mon, 5 Dec 2016 14:23:35 -0500 Subject: [PATCH] Shorten templates by four characters. We only have 6-byte instructions, so we don't really need the ability to encode 8-bytes. --- dynasm/dasm_s390x.lua | 1134 ++++++++++++++++++++--------------------- 1 file changed, 567 insertions(+), 567 deletions(-) diff --git a/dynasm/dasm_s390x.lua b/dynasm/dasm_s390x.lua index 8cc37a9f..6416438e 100644 --- a/dynasm/dasm_s390x.lua +++ b/dynasm/dasm_s390x.lua @@ -435,586 +435,586 @@ end -- Template strings for s390x instructions. map_op = { -a_2 = "000000005a000000j", -ar_2 = "0000000000001a00g", -ay_2 = "0000e3000000005al", -ag_2 = "0000e30000000008l", -agr_2 = "00000000b9080000h", -agf_2 = "0000e30000000018l", -agfr_2 = "00000000b9180000h", -axbr_2 = "00000000b34a0000h", -adbr_2 = "00000000b31a0000h", -aebr_2 = "00000000b30a0000h", -ah_2 = "000000004a000000j", -ahy_2 = "0000e3000000007al", -afi_2 = "0000c20900000000n", -agfi_2 = "0000c20800000000n", -aih_2 = "0000cc0800000000n", -al_2 = "000000005e000000j", -alr_2 = "0000000000001e00g", -aly_2 = "0000e3000000005el", -alg_2 = "0000e3000000000al", -algr_2 = "00000000b90a0000h", -algf_2 = "0000e3000000001al", -algfr_2 = "00000000b91a0000h", -alfi_2 = "0000c20b00000000n", -algfi_2 = "0000c20a00000000n", -alc_2 = "0000e30000000098l", -alcr_2 = "00000000b9980000h", -alcg_2 = "0000e30000000088l", -alcgr_2 = "00000000b9880000h", -alsih_2 = "0000cc0a00000000n", -alsihn_2 = "0000cc0b00000000n", -axr_2 = "0000000000003600g", -ad_2 = "000000006a000000j", -adr_2 = "0000000000002a00g", -ae_2 = "000000007a000000j", -aer_2 = "0000000000003a00g", -aw_2 = "000000006e000000j", -awr_2 = "0000000000002e00g", -au_2 = "000000007e000000j", -aur_2 = "0000000000003e00g", -n_2 = "0000000054000000j", -nr_2 = "0000000000001400g", -ny_2 = "0000e30000000054l", -ng_2 = "0000e30000000080l", -ngr_2 = "00000000b9800000h", -nihf_2 = "0000c00a00000000n", -nilf_2 = "0000c00b00000000n", -bal_2 = "0000000045000000j", -balr_2 = "000000000000500g", -bas_2 = "000000004d000000j", -basr_2 = "0000000000000d00g", -bassm_2 = "0000000000000c00g", -bsa_2 = "00000000b25a0000h", -bsm_2 = "0000000000000b00g", -bakr_2 = "00000000b2400000h", -bsg_2 = "00000000b2580000h", -bc_2 = "0000000047000000k", -bcr_2 = "000000000000700g", -bct_2 = "0000000046000000j", -bctr_2 = "000000000000600g", -bctg_2 = "0000e30000000046l", -bctgr_2 = "00000000b9460000h", -bxh_3 = "0000000086000000q", -bxhg_3 = "0000eb0000000044s", -bxle_3 = "0000000087000000q", -bxleg_3 = "0000eb0000000045s", -brasl_2 = "0000c00500000000o", -brcl_2 = "0000c00400000000p", -brcth_2 = "0000cc0600000000o", -cksm_2 = "00000000b2410000h", -km_2 = "00000000b92e0000h", -kmf_2 = "00000000b92a0000h", -kmc_2 = "00000000b92f0000h", -kmo_2 = "00000000b92b0000h", -c_2 = "0000000059000000j", -cr_2 = "0000000000001900g", -cy_2 = "0000e30000000059l", -cg_2 = "0000e30000000020l", -cgr_2 = "00000000b9200000h", -cgf_2 = "0000e30000000030l", -cgfr_2 = "00000000b9300000h", -cxbr_2 = "00000000b3490000h", -cxtr_2 = "00000000b3ec0000h", -cxr_2 = "00000000b3690000h", -cdbr_2 = "00000000b3190000h", -cdtr_2 = "00000000b3e40000h", -cd_2 = "0000000069000000j", -cdr_2 = "0000000000002900g", -cebr_2 = "00000000b3090000h", -ce_2 = "0000000079000000j", -cer_2 = "0000000000003900g", -kxbr_2 = "00000000b3480000h", -kxtr_2 = "00000000b3e80000h", -kdbr_2 = "00000000b3180000h", -kdtr_2 = "00000000b3e00000h", -kebr_2 = "00000000b3080000h", -cs_3 = "00000000ba000000q", -csy_3 = "0000eb0000000014s", -csg_3 = "0000eb0000000030s", -csp_2 = "00000000b2500000h", -cspg_2 = "00000000b98a0000h", -cextr_2 = "00000000b3fc0000h", -cedtr_2 = "00000000b3f40000h", -cds_3 = "00000000bb000000q", -cdsy_3 = "0000eb0000000031s", -cdsg_3 = "0000eb000000003es", -ch_2 = "0000000049000000j", -chy_2 = "0000e30000000079l", -cgh_2 = "0000e30000000034l", -chrl_2 = "0000c60500000000o", -cghrl_2 = "0000c60400000000o", -chf_2 = "0000e300000000cdl", -chhr_2 = "00000000b9cd0000h", -chlr_2 = "00000000b9dd0000h", -cfi_2 = "0000c20d00000000n", -cgfi_2 = "0000c20c00000000n", -cih_2 = "0000cc0d00000000n", -cl_2 = "0000000055000000j", -clr_2 = "0000000000001500g", -cly_2 = "0000e30000000055l", -clg_2 = "0000e30000000021l", -clgr_2 = "00000000b9210000h", -clgf_2 = "0000e30000000031l", -clgfr_2 = "00000000b9310000h", -clmh_3 = "0000eb0000000020t", -clm_3 = "00000000bd000000r", -clmy_3 = "0000eb0000000021t", -clhf_2 = "0000e300000000cfl", -clhhr_2 = "00000000b9cf0000h", -clhlr_2 = "00000000b9df0000h", -clfi_2 = "0000c20f00000000n", -clgfi_2 = "0000c20e00000000n", -clih_2 = "0000cc0f00000000n", -clcl_2 = "0000000000000f00g", -clcle_3 = "00000000a9000000q", -clclu_3 = "0000eb000000008fs", -clrl_2 = "0000c60f00000000o", -clhrl_2 = "0000c60700000000o", -clgrl_2 = "0000c60a00000000o", -clghrl_2 = "0000c60600000000o", -clgfrl_2 = "0000c60e00000000o", -clst_2 = "00000000b25d0000h", -crl_2 = "0000c60d00000000o", -cgrl_2 = "0000c60800000000o", -cgfrl_2 = "0000c60c00000000o", -cuse_2 = "00000000b2570000h", -cmpsc_2 = "00000000b2630000h", -kimd_2 = "00000000b93e0000h", -klmd_2 = "00000000b93f0000h", -kmac_2 = "00000000b91e0000h", -thdr_2 = "00000000b3590000h", -thder_2 = "00000000b3580000h", -cxfbr_2 = "00000000b3960000h", -cxftr_2 = "00000000b9590000h", -cxfr_2 = "00000000b3b60000h", -cdfbr_2 = "00000000b3950000h", -cdftr_2 = "00000000b9510000h", -cdfr_2 = "00000000b3b50000h", -cefbr_2 = "00000000b3940000h", -cefr_2 = "00000000b3b40000h", -cxgbr_2 = "00000000b3a60000h", -cxgtr_2 = "00000000b3f90000h", -cxgr_2 = "00000000b3c60000h", -cdgbr_2 = "00000000b3a50000h", -cdgtr_2 = "00000000b3f10000h", -cdgr_2 = "00000000b3c50000h", -cegbr_2 = "00000000b3a40000h", -cegr_2 = "00000000b3c40000h", -cxstr_2 = "00000000b3fb0000h", -cdstr_2 = "00000000b3f30000h", -cxutr_2 = "00000000b3fa0000h", -cdutr_2 = "00000000b3f20000h", -cvb_2 = "000000004f000000j", -cvby_2 = "0000e30000000006l", -cvbg_2 = "0000e3000000000el", -cvd_2 = "000000004e000000j", -cvdy_2 = "0000e30000000026l", -cvdg_2 = "0000e3000000002el", -cuxtr_2 = "00000000b3ea0000h", -cudtr_2 = "00000000b3e20000h", -cu42_2 = "00000000b9b30000h", -cu41_2 = "00000000b9b20000h", -cpya_2 = "00000000b24d0000h", -d_2 = "000000005d000000j", -dr_2 = "0000000000001d00g", -dxbr_2 = "00000000b34d0000h", -dxr_2 = "00000000b22d0000h", -ddbr_2 = "00000000b31d0000h", -dd_2 = "000000006d000000j", -ddr_2 = "0000000000002d00g", -debr_2 = "00000000b30d0000h", -de_2 = "000000007d000000j", -der_2 = "0000000000003d00g", -dl_2 = "0000e30000000097l", -dlr_2 = "00000000b9970000h", -dlg_2 = "0000e30000000087l", -dlgr_2 = "00000000b9870000h", -dsg_2 = "0000e3000000000dl", -dsgr_2 = "00000000b90d0000h", -dsgf_2 = "0000e3000000001dl", -dsgfr_2 = "00000000b91d0000h", -x_2 = "0000000057000000j", -xr_2 = "0000000000001700g", -xy_2 = "0000e30000000057l", -xg_2 = "0000e30000000082l", -xgr_2 = "00000000b9820000h", -xihf_2 = "0000c00600000000n", -xilf_2 = "0000c00700000000n", -ex_2 = "0000000044000000j", -exrl_2 = "0000c60000000000o", -ear_2 = "00000000b24f0000h", -esea_2 = "00000000b99d0000h", -eextr_2 = "00000000b3ed0000h", -eedtr_2 = "00000000b3e50000h", -ecag_3 = "0000eb000000004cs", -efpc_2 = "00000000b38c0000h", -epar_2 = "00000000b2260000h", -epair_2 = "00000000b99a0000h", -epsw_2 = "00000000b98d0000h", -esar_2 = "00000000b2270000h", -esair_2 = "00000000b99b0000h", -esxtr_2 = "00000000b3ef0000h", -esdtr_2 = "00000000b3e70000h", -ereg_2 = "00000000b2490000h", -eregg_2 = "00000000b90e0000h", -esta_2 = "00000000b24a0000h", -flogr_2 = "00000000b9830000h", -hdr_2 = "0000000000002400g", -her_2 = "0000000000003400g", -iac_2 = "00000000b2240000h", -ic_2 = "0000000043000000j", -icy_2 = "0000e30000000073l", -icmh_3 = "0000eb0000000080t", -icm_3 = "00000000bf000000r", -icmy_3 = "0000eb0000000081t", -iihf_2 = "0000c00800000000n", -iilf_2 = "0000c00900000000n", -ipm_2 = "00000000b2220000h", -iske_2 = "00000000b2290000h", -ivsk_2 = "00000000b2230000h", -l_2 = "0000000058000000j", -lr_2 = "0000000000001800g", -ly_2 = "0000e30000000058l", -lg_2 = "0000e30000000004l", -lgr_2 = "00000000b9040000h", -lgf_2 = "0000e30000000014l", -lgfr_2 = "00000000b9140000h", -lxr_2 = "00000000b3650000h", -ld_2 = "0000000068000000j", -ldr_2 = "0000000000002800g", -ldy_2 = "0000ed0000000065l", -le_2 = "0000000078000000j", -ler_2 = "0000000000003800g", -ley_2 = "0000ed0000000064l", -lam_3 = "000000009a000000q", -lamy_3 = "0000eb000000009as", -la_2 = "0000000041000000j", -lay_2 = "0000e30000000071l", -lae_2 = "0000000051000000j", -laey_2 = "0000e30000000075l", -larl_2 = "0000c00000000000o", -laa_3 = "0000eb00000000f8s", -laag_3 = "0000eb00000000e8s", -laal_3 = "0000eb00000000fas", -laalg_3 = "0000eb00000000eas", -lan_3 = "0000eb00000000f4s", -lang_3 = "0000eb00000000e4s", -lax_3 = "0000eb00000000f7s", -laxg_3 = "0000eb00000000e7s", -lao_3 = "0000eb00000000f6s", -laog_3 = "0000eb00000000e6s", -lt_2 = "0000e30000000012l", -ltr_2 = "0000000000001200g", -ltg_2 = "0000e30000000002l", -ltgr_2 = "00000000b9020000h", -ltgf_2 = "0000e30000000032l", -ltgfr_2 = "00000000b9120000h", -ltxbr_2 = "00000000b3420000h", -ltxtr_2 = "00000000b3de0000h", -ltxr_2 = "00000000b3620000h", -ltdbr_2 = "00000000b3120000h", -ltdtr_2 = "00000000b3d60000h", -ltdr_2 = "0000000000002200g", -ltebr_2 = "00000000b3020000h", -lter_2 = "0000000000003200g", -lb_2 = "0000e30000000076l", -lbr_2 = "00000000b9260000h", -lgb_2 = "0000e30000000077l", -lgbr_2 = "00000000b9060000h", -lbh_2 = "0000e300000000c0l", -lcr_2 = "0000000000001300g", -lcgr_2 = "00000000b9030000h", -lcgfr_2 = "00000000b9130000h", -lcxbr_2 = "00000000b3430000h", -lcxr_2 = "00000000b3630000h", -lcdbr_2 = "00000000b3130000h", -lcdr_2 = "0000000000002300g", -lcdfr_2 = "00000000b3730000h", -lcebr_2 = "00000000b3030000h", -lcer_2 = "0000000000003300g", -lctl_3 = "00000000b7000000q", -lctlg_3 = "0000eb000000002fs", -fixr_2 = "00000000b3670000h", -fidr_2 = "00000000b37f0000h", -fier_2 = "00000000b3770000h", -ldgr_2 = "00000000b3c10000h", -lgdr_2 = "00000000b3cd0000h", -lh_2 = "0000000048000000j", -lhr_2 = "00000000b9270000h", -lhy_2 = "0000e30000000078l", -lgh_2 = "0000e30000000015l", -lghr_2 = "00000000b9070000h", -lhh_2 = "0000e300000000c4l", -lhrl_2 = "0000c40500000000o", -lghrl_2 = "0000c40400000000o", -lfh_2 = "0000e300000000cal", -lgfi_2 = "0000c00100000000n", -lxdbr_2 = "00000000b3050000h", -lxdr_2 = "00000000b3250000h", -lxebr_2 = "00000000b3060000h", -lxer_2 = "00000000b3260000h", -ldebr_2 = "00000000b3040000h", -lder_2 = "00000000b3240000h", -llgf_2 = "0000e30000000016l", -llgfr_2 = "00000000b9160000h", -llc_2 = "0000e30000000094l", -llcr_2 = "00000000b9940000h", -llgc_2 = "0000e30000000090l", -llgcr_2 = "00000000b9840000h", -llch_2 = "0000e300000000c2l", -llh_2 = "0000e30000000095l", -llhr_2 = "00000000b9950000h", -llgh_2 = "0000e30000000091l", -llghr_2 = "00000000b9850000h", -llhh_2 = "0000e300000000c6l", -llhrl_2 = "0000c40200000000o", -llghrl_2 = "0000c40600000000o", -llihf_2 = "0000c00e00000000n", -llilf_2 = "0000c00f00000000n", -llgfrl_2 = "0000c40e00000000o", -llgt_2 = "0000e30000000017l", -llgtr_2 = "00000000b9170000h", -lm_3 = "0000000098000000q", -lmy_3 = "0000eb0000000098s", -lmg_3 = "0000eb0000000004s", -lmh_3 = "0000eb0000000096s", -lnr_2 = "0000000000001100g", -lngr_2 = "00000000b9010000h", -lngfr_2 = "00000000b9110000h", -lnxbr_2 = "00000000b3410000h", -lnxr_2 = "00000000b3610000h", -lndbr_2 = "00000000b3110000h", -lndr_2 = "0000000000002100g", -lndfr_2 = "00000000b3710000h", -lnebr_2 = "00000000b3010000h", -lner_2 = "0000000000003100g", -loc_3 = "0000eb00000000f2t", -locg_3 = "0000eb00000000e2t", -lpq_2 = "0000e3000000008fl", -lpr_2 = "0000000000001000g", -lpgr_2 = "00000000b9000000h", -lpgfr_2 = "00000000b9100000h", -lpxbr_2 = "00000000b3400000h", -lpxr_2 = "00000000b3600000h", -lpdbr_2 = "00000000b3100000h", -lpdr_2 = "0000000000002000g", -lpdfr_2 = "00000000b3700000h", -lpebr_2 = "00000000b3000000h", -lper_2 = "0000000000003000g", -lra_2 = "00000000b1000000j", -lray_2 = "0000e30000000013l", -lrag_2 = "0000e30000000003l", -lrl_2 = "0000c40d00000000o", -lgrl_2 = "0000c40800000000o", -lgfrl_2 = "0000c40c00000000o", -lrvh_2 = "0000e3000000001fl", -lrv_2 = "0000e3000000001el", -lrvr_2 = "00000000b91f0000h", -lrvg_2 = "0000e3000000000fl", -lrvgr_2 = "00000000b90f0000h", -ldxbr_2 = "00000000b3450000h", -ldxr_2 = "0000000000002500g", -lrdr_2 = "0000000000002500g", -lexbr_2 = "00000000b3460000h", -lexr_2 = "00000000b3660000h", -ledbr_2 = "00000000b3440000h", -ledr_2 = "0000000000003500g", -lrer_2 = "0000000000003500g", -lura_2 = "00000000b24b0000h", -lurag_2 = "00000000b9050000h", -lzxr_2 = "00000000b3760000h", -lzdr_2 = "00000000b3750000h", -lzer_2 = "00000000b3740000h", -msta_2 = "00000000b2470000h", -mvcl_2 = "0000000000000e00g", -mvcle_3 = "00000000a8000000q", -mvclu_3 = "0000eb000000008es", -mvpg_2 = "00000000b2540000h", -mvst_2 = "00000000b2550000h", -m_2 = "000000005c000000j", -mfy_2 = "0000e3000000005cl", -mr_2 = "0000000000001c00g", -mxbr_2 = "00000000b34c0000h", -mxr_2 = "0000000000002600g", -mdbr_2 = "00000000b31c0000h", -md_2 = "000000006c000000j", -mdr_2 = "0000000000002c00g", -mxdbr_2 = "00000000b3070000h", -mxd_2 = "0000000067000000j", -mxdr_2 = "0000000000002700g", -meebr_2 = "00000000b3170000h", -meer_2 = "00000000b3370000h", -mdebr_2 = "00000000b30c0000h", -mde_2 = "000000007c000000j", -mder_2 = "0000000000003c00g", -me_2 = "000000007c000000j", -mer_2 = "0000000000003c00g", -mh_2 = "000000004c000000j", -mhy_2 = "0000e3000000007cl", -mlg_2 = "0000e30000000086l", -mlgr_2 = "00000000b9860000h", -ml_2 = "0000e30000000096l", -mlr_2 = "00000000b9960000h", -ms_2 = "0000000071000000j", -msr_2 = "00000000b2520000h", -msy_2 = "0000e30000000051l", -msg_2 = "0000e3000000000cl", -msgr_2 = "00000000b90c0000h", -msgf_2 = "0000e3000000001cl", -msgfr_2 = "00000000b91c0000h", -msfi_2 = "0000c20100000000n", -msgfi_2 = "0000c20000000000n", -o_2 = "0000000056000000j", -or_2 = "0000000000001600g", -oy_2 = "0000e30000000056l", -og_2 = "0000e30000000081l", -ogr_2 = "00000000b9810000h", -oihf_2 = "0000c00c00000000n", -oilf_2 = "0000c00d00000000n", -pgin_2 = "00000000b22e0000h", -pgout_2 = "00000000b22f0000h", -pcc_2 = "00000000b92c0000h", -pckmo_2 = "00000000b9280000h", -pfmf_2 = "00000000b9af0000h", -ptf_2 = "00000000b9a20000h", -popcnt_2 = "00000000b9e10000h", -pfd_2 = "0000e30000000036m", -pfdrl_2 = "0000c60200000000p", -pt_2 = "00000000b2280000h", -pti_2 = "00000000b99e0000h", -palb_2 = "00000000b2480000h", -rrbe_2 = "00000000b22a0000h", -rrbm_2 = "00000000b9ae0000h", -rll_3 = "0000eb000000001ds", -rllg_3 = "0000eb000000001cs", -srst_2 = "00000000b25e0000h", -srstu_2 = "00000000b9be0000h", -sar_2 = "00000000b24e0000h", -sfpc_2 = "00000000b3840000h", -sfasr_2 = "00000000b3850000h", -spm_2 = "000000000000400g", -ssar_2 = "00000000b2250000h", -ssair_2 = "00000000b99f0000h", -slda_3 = "000000008f000000q", -sldl_3 = "000000008d000000q", -sla_3 = "000000008b000000q", -slak_3 = "0000eb00000000dds", -slag_3 = "0000eb000000000bs", -sll_3 = "0000000089000000q", -sllk_3 = "0000eb00000000dfs", -sllg_3 = "0000eb000000000ds", -srda_3 = "000000008e000000q", -srdl_3 = "000000008c000000q", -sra_3 = "000000008a000000q", -srak_3 = "0000eb00000000dcs", -srag_3 = "0000eb000000000as", -srl_3 = "0000000088000000q", -srlk_3 = "0000eb00000000des", -srlg_3 = "0000eb000000000cs", -sqxbr_2 = "00000000b3160000h", -sqxr_2 = "00000000b3360000h", -sqdbr_2 = "00000000b3150000h", -sqdr_2 = "00000000b2440000h", -sqebr_2 = "00000000b3140000h", -sqer_2 = "00000000b2450000h", -st_2 = "0000000050000000j", -sty_2 = "0000e30000000050l", -stg_2 = "0000e30000000024l", -std_2 = "0000000060000000j", -stdy_2 = "0000ed0000000067l", -ste_2 = "0000000070000000j", -stey_2 = "0000ed0000000066l", -stam_3 = "000000009b000000q", -stamy_3 = "0000eb000000009bs", -stc_2 = "0000000042000000j", -stcy_2 = "0000e30000000072l", -stch_2 = "0000e300000000c3l", -stcmh_3 = "0000eb000000002ct", -stcm_3 = "00000000be000000r", -stcmy_3 = "0000eb000000002dt", -stctl_3 = "00000000b6000000q", -stctg_3 = "0000eb0000000025s", -sth_2 = "0000000040000000j", -sthy_2 = "0000e30000000070l", -sthh_2 = "0000e300000000c7l", -sthrl_2 = "0000c40700000000o", -stfh_2 = "0000e300000000cbl", -stm_3 = "0000000090000000q", -stmy_3 = "0000eb0000000090s", -stmg_3 = "0000eb0000000024s", -stmh_3 = "0000eb0000000026s", -stoc_3 = "0000eb00000000f3t", -stocg_3 = "0000eb00000000e3t", -stpq_2 = "0000e3000000008el", -strl_2 = "0000c40f00000000o", -stgrl_2 = "0000c40b00000000o", -strvh_2 = "0000e3000000003fl", -strv_2 = "0000e3000000003el", -strvg_2 = "0000e3000000002fl", -stura_2 = "00000000b2460000h", -sturg_2 = "00000000b9250000h", -s_2 = "000000005b000000j", -sr_2 = "0000000000001b00g", -sy_2 = "0000e3000000005bl", -sg_2 = "0000e30000000009l", -sgr_2 = "00000000b9090000h", -sgf_2 = "0000e30000000019l", -sgfr_2 = "00000000b9190000h", -sxbr_2 = "00000000b34b0000h", -sdbr_2 = "00000000b31b0000h", -sebr_2 = "00000000b30b0000h", -sh_2 = "000000004b000000j", -shy_2 = "0000e3000000007bl", -sl_2 = "000000005f000000j", -slr_2 = "0000000000001f00g", -sly_2 = "0000e3000000005fl", -slg_2 = "0000e3000000000bl", -slgr_2 = "00000000b90b0000h", -slgf_2 = "0000e3000000001bl", -slgfr_2 = "00000000b91b0000h", -slfi_2 = "0000c20500000000n", -slgfi_2 = "0000c20400000000n", -slb_2 = "0000e30000000099l", -slbr_2 = "00000000b9990000h", -slbg_2 = "0000e30000000089l", -slbgr_2 = "00000000b9890000h", -sxr_2 = "0000000000003700g", -sd_2 = "000000006b000000j", -sdr_2 = "0000000000002b00g", -se_2 = "000000007b000000j", -ser_2 = "0000000000003b00g", -su_2 = "000000007f000000j", -sur_2 = "0000000000003f00g", -sw_2 = "000000006f000000j", -swr_2 = "0000000000002f00g", -tar_2 = "00000000b24c0000h", -tb_2 = "00000000b22c0000h", -trace_3 = "0000000099000000q", -tracg_3 = "0000eb000000000fs", -tre_2 = "00000000b2a50000h", + a_2 = "00005a000000j", + ar_2 = "000000001a00g", + ay_2 = "e3000000005al", + ag_2 = "e30000000008l", + agr_2 = "0000b9080000h", + agf_2 = "e30000000018l", + agfr_2 = "0000b9180000h", + axbr_2 = "0000b34a0000h", + adbr_2 = "0000b31a0000h", + aebr_2 = "0000b30a0000h", + ah_2 = "00004a000000j", + ahy_2 = "e3000000007al", + afi_2 = "c20900000000n", + agfi_2 = "c20800000000n", + aih_2 = "cc0800000000n", + al_2 = "00005e000000j", + alr_2 = "000000001e00g", + aly_2 = "e3000000005el", + alg_2 = "e3000000000al", + algr_2 = "0000b90a0000h", + algf_2 = "e3000000001al", + algfr_2 = "0000b91a0000h", + alfi_2 = "c20b00000000n", + algfi_2 = "c20a00000000n", + alc_2 = "e30000000098l", + alcr_2 = "0000b9980000h", + alcg_2 = "e30000000088l", + alcgr_2 = "0000b9880000h", + alsih_2 = "cc0a00000000n", + alsihn_2 = "cc0b00000000n", + axr_2 = "000000003600g", + ad_2 = "00006a000000j", + adr_2 = "000000002a00g", + ae_2 = "00007a000000j", + aer_2 = "000000003a00g", + aw_2 = "00006e000000j", + awr_2 = "000000002e00g", + au_2 = "00007e000000j", + aur_2 = "000000003e00g", + n_2 = "000054000000j", + nr_2 = "000000001400g", + ny_2 = "e30000000054l", + ng_2 = "e30000000080l", + ngr_2 = "0000b9800000h", + nihf_2 = "c00a00000000n", + nilf_2 = "c00b00000000n", + bal_2 = "000045000000j", + balr_2 = "00000000500g", + bas_2 = "00004d000000j", + basr_2 = "000000000d00g", + bassm_2 = "000000000c00g", + bsa_2 = "0000b25a0000h", + bsm_2 = "000000000b00g", + bakr_2 = "0000b2400000h", + bsg_2 = "0000b2580000h", + bc_2 = "000047000000k", + bcr_2 = "00000000700g", + bct_2 = "000046000000j", + bctr_2 = "00000000600g", + bctg_2 = "e30000000046l", + bctgr_2 = "0000b9460000h", + bxh_3 = "000086000000q", + bxhg_3 = "eb0000000044s", + bxle_3 = "000087000000q", + bxleg_3 = "eb0000000045s", + brasl_2 = "c00500000000o", + brcl_2 = "c00400000000p", + brcth_2 = "cc0600000000o", + cksm_2 = "0000b2410000h", + km_2 = "0000b92e0000h", + kmf_2 = "0000b92a0000h", + kmc_2 = "0000b92f0000h", + kmo_2 = "0000b92b0000h", + c_2 = "000059000000j", + cr_2 = "000000001900g", + cy_2 = "e30000000059l", + cg_2 = "e30000000020l", + cgr_2 = "0000b9200000h", + cgf_2 = "e30000000030l", + cgfr_2 = "0000b9300000h", + cxbr_2 = "0000b3490000h", + cxtr_2 = "0000b3ec0000h", + cxr_2 = "0000b3690000h", + cdbr_2 = "0000b3190000h", + cdtr_2 = "0000b3e40000h", + cd_2 = "000069000000j", + cdr_2 = "000000002900g", + cebr_2 = "0000b3090000h", + ce_2 = "000079000000j", + cer_2 = "000000003900g", + kxbr_2 = "0000b3480000h", + kxtr_2 = "0000b3e80000h", + kdbr_2 = "0000b3180000h", + kdtr_2 = "0000b3e00000h", + kebr_2 = "0000b3080000h", + cs_3 = "0000ba000000q", + csy_3 = "eb0000000014s", + csg_3 = "eb0000000030s", + csp_2 = "0000b2500000h", + cspg_2 = "0000b98a0000h", + cextr_2 = "0000b3fc0000h", + cedtr_2 = "0000b3f40000h", + cds_3 = "0000bb000000q", + cdsy_3 = "eb0000000031s", + cdsg_3 = "eb000000003es", + ch_2 = "000049000000j", + chy_2 = "e30000000079l", + cgh_2 = "e30000000034l", + chrl_2 = "c60500000000o", + cghrl_2 = "c60400000000o", + chf_2 = "e300000000cdl", + chhr_2 = "0000b9cd0000h", + chlr_2 = "0000b9dd0000h", + cfi_2 = "c20d00000000n", + cgfi_2 = "c20c00000000n", + cih_2 = "cc0d00000000n", + cl_2 = "000055000000j", + clr_2 = "000000001500g", + cly_2 = "e30000000055l", + clg_2 = "e30000000021l", + clgr_2 = "0000b9210000h", + clgf_2 = "e30000000031l", + clgfr_2 = "0000b9310000h", + clmh_3 = "eb0000000020t", + clm_3 = "0000bd000000r", + clmy_3 = "eb0000000021t", + clhf_2 = "e300000000cfl", + clhhr_2 = "0000b9cf0000h", + clhlr_2 = "0000b9df0000h", + clfi_2 = "c20f00000000n", + clgfi_2 = "c20e00000000n", + clih_2 = "cc0f00000000n", + clcl_2 = "000000000f00g", + clcle_3 = "0000a9000000q", + clclu_3 = "eb000000008fs", + clrl_2 = "c60f00000000o", + clhrl_2 = "c60700000000o", + clgrl_2 = "c60a00000000o", + clghrl_2 = "c60600000000o", + clgfrl_2 = "c60e00000000o", + clst_2 = "0000b25d0000h", + crl_2 = "c60d00000000o", + cgrl_2 = "c60800000000o", + cgfrl_2 = "c60c00000000o", + cuse_2 = "0000b2570000h", + cmpsc_2 = "0000b2630000h", + kimd_2 = "0000b93e0000h", + klmd_2 = "0000b93f0000h", + kmac_2 = "0000b91e0000h", + thdr_2 = "0000b3590000h", + thder_2 = "0000b3580000h", + cxfbr_2 = "0000b3960000h", + cxftr_2 = "0000b9590000h", + cxfr_2 = "0000b3b60000h", + cdfbr_2 = "0000b3950000h", + cdftr_2 = "0000b9510000h", + cdfr_2 = "0000b3b50000h", + cefbr_2 = "0000b3940000h", + cefr_2 = "0000b3b40000h", + cxgbr_2 = "0000b3a60000h", + cxgtr_2 = "0000b3f90000h", + cxgr_2 = "0000b3c60000h", + cdgbr_2 = "0000b3a50000h", + cdgtr_2 = "0000b3f10000h", + cdgr_2 = "0000b3c50000h", + cegbr_2 = "0000b3a40000h", + cegr_2 = "0000b3c40000h", + cxstr_2 = "0000b3fb0000h", + cdstr_2 = "0000b3f30000h", + cxutr_2 = "0000b3fa0000h", + cdutr_2 = "0000b3f20000h", + cvb_2 = "00004f000000j", + cvby_2 = "e30000000006l", + cvbg_2 = "e3000000000el", + cvd_2 = "00004e000000j", + cvdy_2 = "e30000000026l", + cvdg_2 = "e3000000002el", + cuxtr_2 = "0000b3ea0000h", + cudtr_2 = "0000b3e20000h", + cu42_2 = "0000b9b30000h", + cu41_2 = "0000b9b20000h", + cpya_2 = "0000b24d0000h", + d_2 = "00005d000000j", + dr_2 = "000000001d00g", + dxbr_2 = "0000b34d0000h", + dxr_2 = "0000b22d0000h", + ddbr_2 = "0000b31d0000h", + dd_2 = "00006d000000j", + ddr_2 = "000000002d00g", + debr_2 = "0000b30d0000h", + de_2 = "00007d000000j", + der_2 = "000000003d00g", + dl_2 = "e30000000097l", + dlr_2 = "0000b9970000h", + dlg_2 = "e30000000087l", + dlgr_2 = "0000b9870000h", + dsg_2 = "e3000000000dl", + dsgr_2 = "0000b90d0000h", + dsgf_2 = "e3000000001dl", + dsgfr_2 = "0000b91d0000h", + x_2 = "000057000000j", + xr_2 = "000000001700g", + xy_2 = "e30000000057l", + xg_2 = "e30000000082l", + xgr_2 = "0000b9820000h", + xihf_2 = "c00600000000n", + xilf_2 = "c00700000000n", + ex_2 = "000044000000j", + exrl_2 = "c60000000000o", + ear_2 = "0000b24f0000h", + esea_2 = "0000b99d0000h", + eextr_2 = "0000b3ed0000h", + eedtr_2 = "0000b3e50000h", + ecag_3 = "eb000000004cs", + efpc_2 = "0000b38c0000h", + epar_2 = "0000b2260000h", + epair_2 = "0000b99a0000h", + epsw_2 = "0000b98d0000h", + esar_2 = "0000b2270000h", + esair_2 = "0000b99b0000h", + esxtr_2 = "0000b3ef0000h", + esdtr_2 = "0000b3e70000h", + ereg_2 = "0000b2490000h", + eregg_2 = "0000b90e0000h", + esta_2 = "0000b24a0000h", + flogr_2 = "0000b9830000h", + hdr_2 = "000000002400g", + her_2 = "000000003400g", + iac_2 = "0000b2240000h", + ic_2 = "000043000000j", + icy_2 = "e30000000073l", + icmh_3 = "eb0000000080t", + icm_3 = "0000bf000000r", + icmy_3 = "eb0000000081t", + iihf_2 = "c00800000000n", + iilf_2 = "c00900000000n", + ipm_2 = "0000b2220000h", + iske_2 = "0000b2290000h", + ivsk_2 = "0000b2230000h", + l_2 = "000058000000j", + lr_2 = "000000001800g", + ly_2 = "e30000000058l", + lg_2 = "e30000000004l", + lgr_2 = "0000b9040000h", + lgf_2 = "e30000000014l", + lgfr_2 = "0000b9140000h", + lxr_2 = "0000b3650000h", + ld_2 = "000068000000j", + ldr_2 = "000000002800g", + ldy_2 = "ed0000000065l", + le_2 = "000078000000j", + ler_2 = "000000003800g", + ley_2 = "ed0000000064l", + lam_3 = "00009a000000q", + lamy_3 = "eb000000009as", + la_2 = "000041000000j", + lay_2 = "e30000000071l", + lae_2 = "000051000000j", + laey_2 = "e30000000075l", + larl_2 = "c00000000000o", + laa_3 = "eb00000000f8s", + laag_3 = "eb00000000e8s", + laal_3 = "eb00000000fas", + laalg_3 = "eb00000000eas", + lan_3 = "eb00000000f4s", + lang_3 = "eb00000000e4s", + lax_3 = "eb00000000f7s", + laxg_3 = "eb00000000e7s", + lao_3 = "eb00000000f6s", + laog_3 = "eb00000000e6s", + lt_2 = "e30000000012l", + ltr_2 = "000000001200g", + ltg_2 = "e30000000002l", + ltgr_2 = "0000b9020000h", + ltgf_2 = "e30000000032l", + ltgfr_2 = "0000b9120000h", + ltxbr_2 = "0000b3420000h", + ltxtr_2 = "0000b3de0000h", + ltxr_2 = "0000b3620000h", + ltdbr_2 = "0000b3120000h", + ltdtr_2 = "0000b3d60000h", + ltdr_2 = "000000002200g", + ltebr_2 = "0000b3020000h", + lter_2 = "000000003200g", + lb_2 = "e30000000076l", + lbr_2 = "0000b9260000h", + lgb_2 = "e30000000077l", + lgbr_2 = "0000b9060000h", + lbh_2 = "e300000000c0l", + lcr_2 = "000000001300g", + lcgr_2 = "0000b9030000h", + lcgfr_2 = "0000b9130000h", + lcxbr_2 = "0000b3430000h", + lcxr_2 = "0000b3630000h", + lcdbr_2 = "0000b3130000h", + lcdr_2 = "000000002300g", + lcdfr_2 = "0000b3730000h", + lcebr_2 = "0000b3030000h", + lcer_2 = "000000003300g", + lctl_3 = "0000b7000000q", + lctlg_3 = "eb000000002fs", + fixr_2 = "0000b3670000h", + fidr_2 = "0000b37f0000h", + fier_2 = "0000b3770000h", + ldgr_2 = "0000b3c10000h", + lgdr_2 = "0000b3cd0000h", + lh_2 = "000048000000j", + lhr_2 = "0000b9270000h", + lhy_2 = "e30000000078l", + lgh_2 = "e30000000015l", + lghr_2 = "0000b9070000h", + lhh_2 = "e300000000c4l", + lhrl_2 = "c40500000000o", + lghrl_2 = "c40400000000o", + lfh_2 = "e300000000cal", + lgfi_2 = "c00100000000n", + lxdbr_2 = "0000b3050000h", + lxdr_2 = "0000b3250000h", + lxebr_2 = "0000b3060000h", + lxer_2 = "0000b3260000h", + ldebr_2 = "0000b3040000h", + lder_2 = "0000b3240000h", + llgf_2 = "e30000000016l", + llgfr_2 = "0000b9160000h", + llc_2 = "e30000000094l", + llcr_2 = "0000b9940000h", + llgc_2 = "e30000000090l", + llgcr_2 = "0000b9840000h", + llch_2 = "e300000000c2l", + llh_2 = "e30000000095l", + llhr_2 = "0000b9950000h", + llgh_2 = "e30000000091l", + llghr_2 = "0000b9850000h", + llhh_2 = "e300000000c6l", + llhrl_2 = "c40200000000o", + llghrl_2 = "c40600000000o", + llihf_2 = "c00e00000000n", + llilf_2 = "c00f00000000n", + llgfrl_2 = "c40e00000000o", + llgt_2 = "e30000000017l", + llgtr_2 = "0000b9170000h", + lm_3 = "000098000000q", + lmy_3 = "eb0000000098s", + lmg_3 = "eb0000000004s", + lmh_3 = "eb0000000096s", + lnr_2 = "000000001100g", + lngr_2 = "0000b9010000h", + lngfr_2 = "0000b9110000h", + lnxbr_2 = "0000b3410000h", + lnxr_2 = "0000b3610000h", + lndbr_2 = "0000b3110000h", + lndr_2 = "000000002100g", + lndfr_2 = "0000b3710000h", + lnebr_2 = "0000b3010000h", + lner_2 = "000000003100g", + loc_3 = "eb00000000f2t", + locg_3 = "eb00000000e2t", + lpq_2 = "e3000000008fl", + lpr_2 = "000000001000g", + lpgr_2 = "0000b9000000h", + lpgfr_2 = "0000b9100000h", + lpxbr_2 = "0000b3400000h", + lpxr_2 = "0000b3600000h", + lpdbr_2 = "0000b3100000h", + lpdr_2 = "000000002000g", + lpdfr_2 = "0000b3700000h", + lpebr_2 = "0000b3000000h", + lper_2 = "000000003000g", + lra_2 = "0000b1000000j", + lray_2 = "e30000000013l", + lrag_2 = "e30000000003l", + lrl_2 = "c40d00000000o", + lgrl_2 = "c40800000000o", + lgfrl_2 = "c40c00000000o", + lrvh_2 = "e3000000001fl", + lrv_2 = "e3000000001el", + lrvr_2 = "0000b91f0000h", + lrvg_2 = "e3000000000fl", + lrvgr_2 = "0000b90f0000h", + ldxbr_2 = "0000b3450000h", + ldxr_2 = "000000002500g", + lrdr_2 = "000000002500g", + lexbr_2 = "0000b3460000h", + lexr_2 = "0000b3660000h", + ledbr_2 = "0000b3440000h", + ledr_2 = "000000003500g", + lrer_2 = "000000003500g", + lura_2 = "0000b24b0000h", + lurag_2 = "0000b9050000h", + lzxr_2 = "0000b3760000h", + lzdr_2 = "0000b3750000h", + lzer_2 = "0000b3740000h", + msta_2 = "0000b2470000h", + mvcl_2 = "000000000e00g", + mvcle_3 = "0000a8000000q", + mvclu_3 = "eb000000008es", + mvpg_2 = "0000b2540000h", + mvst_2 = "0000b2550000h", + m_2 = "00005c000000j", + mfy_2 = "e3000000005cl", + mr_2 = "000000001c00g", + mxbr_2 = "0000b34c0000h", + mxr_2 = "000000002600g", + mdbr_2 = "0000b31c0000h", + md_2 = "00006c000000j", + mdr_2 = "000000002c00g", + mxdbr_2 = "0000b3070000h", + mxd_2 = "000067000000j", + mxdr_2 = "000000002700g", + meebr_2 = "0000b3170000h", + meer_2 = "0000b3370000h", + mdebr_2 = "0000b30c0000h", + mde_2 = "00007c000000j", + mder_2 = "000000003c00g", + me_2 = "00007c000000j", + mer_2 = "000000003c00g", + mh_2 = "00004c000000j", + mhy_2 = "e3000000007cl", + mlg_2 = "e30000000086l", + mlgr_2 = "0000b9860000h", + ml_2 = "e30000000096l", + mlr_2 = "0000b9960000h", + ms_2 = "000071000000j", + msr_2 = "0000b2520000h", + msy_2 = "e30000000051l", + msg_2 = "e3000000000cl", + msgr_2 = "0000b90c0000h", + msgf_2 = "e3000000001cl", + msgfr_2 = "0000b91c0000h", + msfi_2 = "c20100000000n", + msgfi_2 = "c20000000000n", + o_2 = "000056000000j", + or_2 = "000000001600g", + oy_2 = "e30000000056l", + og_2 = "e30000000081l", + ogr_2 = "0000b9810000h", + oihf_2 = "c00c00000000n", + oilf_2 = "c00d00000000n", + pgin_2 = "0000b22e0000h", + pgout_2 = "0000b22f0000h", + pcc_2 = "0000b92c0000h", + pckmo_2 = "0000b9280000h", + pfmf_2 = "0000b9af0000h", + ptf_2 = "0000b9a20000h", + popcnt_2 = "0000b9e10000h", + pfd_2 = "e30000000036m", + pfdrl_2 = "c60200000000p", + pt_2 = "0000b2280000h", + pti_2 = "0000b99e0000h", + palb_2 = "0000b2480000h", + rrbe_2 = "0000b22a0000h", + rrbm_2 = "0000b9ae0000h", + rll_3 = "eb000000001ds", + rllg_3 = "eb000000001cs", + srst_2 = "0000b25e0000h", + srstu_2 = "0000b9be0000h", + sar_2 = "0000b24e0000h", + sfpc_2 = "0000b3840000h", + sfasr_2 = "0000b3850000h", + spm_2 = "00000000400g", + ssar_2 = "0000b2250000h", + ssair_2 = "0000b99f0000h", + slda_3 = "00008f000000q", + sldl_3 = "00008d000000q", + sla_3 = "00008b000000q", + slak_3 = "eb00000000dds", + slag_3 = "eb000000000bs", + sll_3 = "000089000000q", + sllk_3 = "eb00000000dfs", + sllg_3 = "eb000000000ds", + srda_3 = "00008e000000q", + srdl_3 = "00008c000000q", + sra_3 = "00008a000000q", + srak_3 = "eb00000000dcs", + srag_3 = "eb000000000as", + srl_3 = "000088000000q", + srlk_3 = "eb00000000des", + srlg_3 = "eb000000000cs", + sqxbr_2 = "0000b3160000h", + sqxr_2 = "0000b3360000h", + sqdbr_2 = "0000b3150000h", + sqdr_2 = "0000b2440000h", + sqebr_2 = "0000b3140000h", + sqer_2 = "0000b2450000h", + st_2 = "000050000000j", + sty_2 = "e30000000050l", + stg_2 = "e30000000024l", + std_2 = "000060000000j", + stdy_2 = "ed0000000067l", + ste_2 = "000070000000j", + stey_2 = "ed0000000066l", + stam_3 = "00009b000000q", + stamy_3 = "eb000000009bs", + stc_2 = "000042000000j", + stcy_2 = "e30000000072l", + stch_2 = "e300000000c3l", + stcmh_3 = "eb000000002ct", + stcm_3 = "0000be000000r", + stcmy_3 = "eb000000002dt", + stctl_3 = "0000b6000000q", + stctg_3 = "eb0000000025s", + sth_2 = "000040000000j", + sthy_2 = "e30000000070l", + sthh_2 = "e300000000c7l", + sthrl_2 = "c40700000000o", + stfh_2 = "e300000000cbl", + stm_3 = "000090000000q", + stmy_3 = "eb0000000090s", + stmg_3 = "eb0000000024s", + stmh_3 = "eb0000000026s", + stoc_3 = "eb00000000f3t", + stocg_3 = "eb00000000e3t", + stpq_2 = "e3000000008el", + strl_2 = "c40f00000000o", + stgrl_2 = "c40b00000000o", + strvh_2 = "e3000000003fl", + strv_2 = "e3000000003el", + strvg_2 = "e3000000002fl", + stura_2 = "0000b2460000h", + sturg_2 = "0000b9250000h", + s_2 = "00005b000000j", + sr_2 = "000000001b00g", + sy_2 = "e3000000005bl", + sg_2 = "e30000000009l", + sgr_2 = "0000b9090000h", + sgf_2 = "e30000000019l", + sgfr_2 = "0000b9190000h", + sxbr_2 = "0000b34b0000h", + sdbr_2 = "0000b31b0000h", + sebr_2 = "0000b30b0000h", + sh_2 = "00004b000000j", + shy_2 = "e3000000007bl", + sl_2 = "00005f000000j", + slr_2 = "000000001f00g", + sly_2 = "e3000000005fl", + slg_2 = "e3000000000bl", + slgr_2 = "0000b90b0000h", + slgf_2 = "e3000000001bl", + slgfr_2 = "0000b91b0000h", + slfi_2 = "c20500000000n", + slgfi_2 = "c20400000000n", + slb_2 = "e30000000099l", + slbr_2 = "0000b9990000h", + slbg_2 = "e30000000089l", + slbgr_2 = "0000b9890000h", + sxr_2 = "000000003700g", + sd_2 = "00006b000000j", + sdr_2 = "000000002b00g", + se_2 = "00007b000000j", + ser_2 = "000000003b00g", + su_2 = "00007f000000j", + sur_2 = "000000003f00g", + sw_2 = "00006f000000j", + swr_2 = "000000002f00g", + tar_2 = "0000b24c0000h", + tb_2 = "0000b22c0000h", + trace_3 = "000099000000q", + tracg_3 = "eb000000000fs", + tre_2 = "0000b2a50000h", } for cond,c in pairs(map_cond) do -- Extended mnemonics for branches. -- TODO: replace 'B' with correct encoding. -- brc - map_op["j"..cond.."_1"] = "00000000"..tohex(0xa7040000+shl(c, 20)).."w" + map_op["j"..cond.."_1"] = "0000"..tohex(0xa7040000+shl(c, 20)).."w" -- brcl - map_op["jg"..cond.."_1"] = tohex(0xc004+shl(c, 4)).."00000000".."x" + map_op["jg"..cond.."_1"] = tohex(0xc0040000+shl(c, 20)).."0000".."x" -- bc - map_op["b"..cond.."_1"] = "00000000"..tohex(0x47000000+shl(c, 20)).."y" + map_op["b"..cond.."_1"] = "0000"..tohex(0x47000000+shl(c, 20)).."y" -- bcr - map_op["b"..cond.."r_1"] = "00000000"..tohex(0x0700+shl(c, 4)).."z" + map_op["b"..cond.."r_1"] = "0000"..tohex(0x0700+shl(c, 4)).."z" end ------------------------------------------------------------------------------ -- Handle opcodes defined with template strings. local function parse_template(params, template, nparams, pos) -- Read the template in 16-bit chunks. -- Leading halfword zeroes should not be written out. - local op0 = tonumber(sub(template, 5, 8), 16) - local op1 = tonumber(sub(template, 9, 12), 16) - local op2 = tonumber(sub(template, 13, 16), 16) + local op0 = tonumber(sub(template, 1, 4), 16) + local op1 = tonumber(sub(template, 5, 8), 16) + local op2 = tonumber(sub(template, 9, 12), 16) local n,rs = 1,26 @@ -1031,7 +1031,7 @@ local function parse_template(params, template, nparams, pos) -- oorr iiii 00oo -- This should be emitted as oorr, followed by the immediate action, followed by -- 00oo. - for p in gmatch(sub(template, 17), ".") do + for p in gmatch(sub(template, 13), ".") do local pr1,pr2,pr3 if p == "g" then pr1,pr2=params[n],params[n+1]