diff --git a/dynasm/dasm_s390x.lua b/dynasm/dasm_s390x.lua index 2965034a..f1d492c1 100644 --- a/dynasm/dasm_s390x.lua +++ b/dynasm/dasm_s390x.lua @@ -645,565 +645,565 @@ end) -- Template strings for s390x instructions. map_op = { - a = "000000005a000000j", -ar = "0000000000001a00g", -ay = "0000e3000000005ak", -ag = "0000e30000000008k", -agr = "00000000b9080000h", -agf = "0000e30000000018k", -agfr = "00000000b9180000h", -axbr = "00000000b34a0000h", -adbr = "00000000b31a0000h", -aebr = "00000000b30a0000h", -ah = "000000004a000000j", -ahy = "0000e3000000007ak", -afi = "0000c20900000000l", -agfi = "0000c20800000000l", -aih = "0000cc0800000000l", -al = "000000005e000000j", -alr = "0000000000001e00g", -aly = "0000e3000000005ek", -alg = "0000e3000000000ak", -algr = "00000000b90a0000h", -algf = "0000e3000000001ak", -algfr = "00000000b91a0000h", -alfi = "0000c20b00000000l", -algfi = "0000c20a00000000l", -alc = "0000e30000000098k", -alcr = "00000000b9980000h", -alcg = "0000e30000000088k", -alcgr = "00000000b9880000h", -alsih = "0000cc0a00000000l", -alsihn = "0000cc0b00000000l", -axr = "0000000000003600g", -ad = "000000006a000000j", -adr = "0000000000002a00g", -ae = "000000007a000000j", -aer = "0000000000003a00g", -aw = "000000006e000000j", -awr = "0000000000002e00g", -au = "000000007e000000j", -aur = "0000000000003e00g", -n = "0000000054000000j", -nr = "0000000000001400g", -ny = "0000e30000000054k", -ng = "0000e30000000080k", -ngr = "00000000b9800000h", -nihf = "0000c00a00000000l", -nilf = "0000c00b00000000l", -bal = "0000000045000000j", -balr = "000000000000500g", -bas = "000000004d000000j", -basr = "0000000000000d00g", -bassm = "0000000000000c00g", -bsa = "00000000b25a0000h", -bsm = "0000000000000b00g", -bakr = "00000000b2400000h", -bsg = "00000000b2580000h", -bc = "0000000047000000j", -bcr = "000000000000700g", -bct = "0000000046000000j", -bctr = "000000000000600g", -bctg = "0000e30000000046k", -bctgr = "00000000b9460000h", -bxh = "0000000086000000m", -bxhg = "0000eb0000000044n", -bxle = "0000000087000000m", -bxleg = "0000eb0000000045n", -brasl = "0000c00500000000l", -brcl = "0000c00400000000l", -brcth = "0000cc0600000000l", -cksm = "00000000b2410000h", -km = "00000000b92e0000h", -kmf = "00000000b92a0000h", -kmc = "00000000b92f0000h", -kmo = "00000000b92b0000h", -c = "0000000059000000j", -cr = "0000000000001900g", -cy = "0000e30000000059k", -cg = "0000e30000000020k", -cgr = "00000000b9200000h", -cgf = "0000e30000000030k", -cgfr = "00000000b9300000h", -cxbr = "00000000b3490000h", -cxtr = "00000000b3ec0000h", -cxr = "00000000b3690000h", -cdbr = "00000000b3190000h", -cdtr = "00000000b3e40000h", -cd = "0000000069000000j", -cdr = "0000000000002900g", -cebr = "00000000b3090000h", -ce = "0000000079000000j", -cer = "0000000000003900g", -kxbr = "00000000b3480000h", -kxtr = "00000000b3e80000h", -kdbr = "00000000b3180000h", -kdtr = "00000000b3e00000h", -kebr = "00000000b3080000h", -cs = "00000000ba000000m", -csy = "0000eb0000000014n", -csg = "0000eb0000000030n", -csp = "00000000b2500000h", -cspg = "00000000b98a0000h", -cextr = "00000000b3fc0000h", -cedtr = "00000000b3f40000h", -cds = "00000000bb000000m", -cdsy = "0000eb0000000031n", -cdsg = "0000eb000000003en", -ch = "0000000049000000j", -chy = "0000e30000000079k", -cgh = "0000e30000000034k", -chrl = "0000c60500000000l", -cghrl = "0000c60400000000l", -chf = "0000e300000000cdk", -chhr = "00000000b9cd0000h", -chlr = "00000000b9dd0000h", -cfi = "0000c20d00000000l", -cgfi = "0000c20c00000000l", -cih = "0000cc0d00000000l", -cl = "0000000055000000j", -clr = "0000000000001500g", -cly = "0000e30000000055k", -clg = "0000e30000000021k", -clgr = "00000000b9210000h", -clgf = "0000e30000000031k", -clgfr = "00000000b9310000h", -clmh = "0000eb0000000020n", -clm = "00000000bd000000m", -clmy = "0000eb0000000021n", -clhf = "0000e300000000cfk", -clhhr = "00000000b9cf0000h", -clhlr = "00000000b9df0000h", -clfi = "0000c20f00000000l", -clgfi = "0000c20e00000000l", -clih = "0000cc0f00000000l", -clcl = "0000000000000f00g", -clcle = "00000000a9000000m", -clclu = "0000eb000000008fn", -clrl = "0000c60f00000000l", -clhrl = "0000c60700000000l", -clgrl = "0000c60a00000000l", -clghrl = "0000c60600000000l", -clgfrl = "0000c60e00000000l", -clst = "00000000b25d0000h", -crl = "0000c60d00000000l", -cgrl = "0000c60800000000l", -cgfrl = "0000c60c00000000l", - cuse = "00000000b2570000h", -cmpsc = "00000000b2630000h", -kimd = "00000000b93e0000h", -klmd = "00000000b93f0000h", -kmac = "00000000b91e0000h", -thdr = "00000000b3590000h", -thder = "00000000b3580000h", -cxfbr = "00000000b3960000h", -cxftr = "00000000b9590000h", -cxfr = "00000000b3b60000h", -cdfbr = "00000000b3950000h", -cdftr = "00000000b9510000h", -cdfr = "00000000b3b50000h", -cefbr = "00000000b3940000h", -cefr = "00000000b3b40000h", -cxgbr = "00000000b3a60000h", -cxgtr = "00000000b3f90000h", -cxgr = "00000000b3c60000h", -cdgbr = "00000000b3a50000h", -cdgtr = "00000000b3f10000h", -cdgr = "00000000b3c50000h", -cegbr = "00000000b3a40000h", -cegr = "00000000b3c40000h", -cxstr = "00000000b3fb0000h", -cdstr = "00000000b3f30000h", -cxutr = "00000000b3fa0000h", -cdutr = "00000000b3f20000h", -cvb = "000000004f000000j", -cvby = "0000e30000000006k", -cvbg = "0000e3000000000ek", -cvd = "000000004e000000j", -cvdy = "0000e30000000026k", -cvdg = "0000e3000000002ek", -cuxtr = "00000000b3ea0000h", -cudtr = "00000000b3e20000h", -cu42 = "00000000b9b30000h", -cu41 = "00000000b9b20000h", -cpya = "00000000b24d0000h", -d = "000000005d000000j", -dr = "0000000000001d00g", -dxbr = "00000000b34d0000h", -dxr = "00000000b22d0000h", -ddbr = "00000000b31d0000h", -dd = "000000006d000000j", -ddr = "0000000000002d00g", -debr = "00000000b30d0000h", -de = "000000007d000000j", -der = "0000000000003d00g", -dl = "0000e30000000097k", -dlr = "00000000b9970000h", -dlg = "0000e30000000087k", -dlgr = "00000000b9870000h", -dsg = "0000e3000000000dk", -dsgr = "00000000b90d0000h", -dsgf = "0000e3000000001dk", -dsgfr = "00000000b91d0000h", -x = "0000000057000000j", -xr = "0000000000001700g", -xy = "0000e30000000057k", -xg = "0000e30000000082k", -xgr = "00000000b9820000h", -xihf = "0000c00600000000l", -xilf = "0000c00700000000l", -ex = "0000000044000000j", -exrl = "0000c60000000000l", -ear = "00000000b24f0000h", -esea = "00000000b99d0000h", -eextr = "00000000b3ed0000h", -eedtr = "00000000b3e50000h", -ecag = "0000eb000000004cn", -efpc = "00000000b38c0000h", -epar = "00000000b2260000h", -epair = "00000000b99a0000h", -epsw = "00000000b98d0000h", -esar = "00000000b2270000h", -esair = "00000000b99b0000h", -esxtr = "00000000b3ef0000h", -esdtr = "00000000b3e70000h", -ereg = "00000000b2490000h", -eregg = "00000000b90e0000h", -esta = "00000000b24a0000h", -flogr = "00000000b9830000h", -hdr = "0000000000002400g", -her = "0000000000003400g", -iac = "00000000b2240000h", -ic = "0000000043000000j", -icy = "0000e30000000073k", -icmh = "0000eb0000000080n", -icm = "00000000bf000000m", -icmy = "0000eb0000000081n", -iihf = "0000c00800000000l", -iilf = "0000c00900000000l", -ipm = "00000000b2220000h", -iske = "00000000b2290000h", -ivsk = "00000000b2230000h", -l = "0000000058000000j", -lr = "0000000000001800g", -ly = "0000e30000000058k", -lg = "0000e30000000004k", -lgr = "00000000b9040000h", -lgf = "0000e30000000014k", -lgfr = "00000000b9140000h", -lxr = "00000000b3650000h", -ld = "0000000068000000j", -ldr = "0000000000002800g", -ldy = "0000ed0000000065k", -le = "0000000078000000j", -ler = "0000000000003800g", - ley = "0000ed0000000064k", -lam = "000000009a000000m", -lamy = "0000eb000000009an", -la = "0000000041000000j", -lay = "0000e30000000071k", -lae = "0000000051000000j", -laey = "0000e30000000075k", -larl = "0000c00000000000l", -laa = "0000eb00000000f8n", -laag = "0000eb00000000e8n", -laal = "0000eb00000000fan", -laalg = "0000eb00000000ean", -lan = "0000eb00000000f4n", -lang = "0000eb00000000e4n", -lax = "0000eb00000000f7n", -laxg = "0000eb00000000e7n", -lao = "0000eb00000000f6n", -laog = "0000eb00000000e6n", -lt = "0000e30000000012k", -ltr = "0000000000001200g", -ltg = "0000e30000000002k", -ltgr = "00000000b9020000h", -ltgf = "0000e30000000032k", -ltgfr = "00000000b9120000h", -ltxbr = "00000000b3420000h", -ltxtr = "00000000b3de0000h", -ltxr = "00000000b3620000h", -ltdbr = "00000000b3120000h", -ltdtr = "00000000b3d60000h", -ltdr = "0000000000002200g", -ltebr = "00000000b3020000h", -lter = "0000000000003200g", -lb = "0000e30000000076k", -lbr = "00000000b9260000h", -lgb = "0000e30000000077k", -lgbr = "00000000b9060000h", - lbh = "0000e300000000c0k", -lcr = "0000000000001300g", -lcgr = "00000000b9030000h", -lcgfr = "00000000b9130000h", -lcxbr = "00000000b3430000h", -lcxr = "00000000b3630000h", -lcdbr = "00000000b3130000h", -lcdr = "0000000000002300g", -lcdfr = "00000000b3730000h", -lcebr = "00000000b3030000h", -lcer = "0000000000003300g", -lctl = "00000000b7000000m", -lctlg = "0000eb000000002fn", -fixr = "00000000b3670000h", -fidr = "00000000b37f0000h", -fier = "00000000b3770000h", -ldgr = "00000000b3c10000h", -lgdr = "00000000b3cd0000h", -lh = "0000000048000000j", -lhr = "00000000b9270000h", -lhy = "0000e30000000078k", -lgh = "0000e30000000015k", -lghr = "00000000b9070000h", -lhh = "0000e300000000c4k", -lhrl = "0000c40500000000l", -lghrl = "0000c40400000000l", -lfh = "0000e300000000cak", -lgfi = "0000c00100000000l", -lxdbr = "00000000b3050000h", -lxdr = "00000000b3250000h", -lxebr = "00000000b3060000h", -lxer = "00000000b3260000h", -ldebr = "00000000b3040000h", -lder = "00000000b3240000h", -llgf = "0000e30000000016k", -llgfr = "00000000b9160000h", -llc = "0000e30000000094k", -llcr = "00000000b9940000h", -llgc = "0000e30000000090k", -llgcr = "00000000b9840000h", -llch = "0000e300000000c2k", -llh = "0000e30000000095k", -llhr = "00000000b9950000h", -llgh = "0000e30000000091k", -llghr = "00000000b9850000h", -llhh = "0000e300000000c6k", -llhrl = "0000c40200000000l", -llghrl = "0000c40600000000l", -llihf = "0000c00e00000000l", -llilf = "0000c00f00000000l", -llgfrl = "0000c40e00000000l", -llgt = "0000e30000000017k", -llgtr = "00000000b9170000h", -lm = "0000000098000000m", -lmy = "0000eb0000000098n", -lmg = "0000eb0000000004n", -lmh = "0000eb0000000096n", -lnr = "0000000000001100g", -lngr = "00000000b9010000h", -lngfr = "00000000b9110000h", -lnxbr = "00000000b3410000h", -lnxr = "00000000b3610000h", -lndbr = "00000000b3110000h", -lndr = "0000000000002100g", -lndfr = "00000000b3710000h", -lnebr = "00000000b3010000h", -lner = "0000000000003100g", -loc = "0000eb00000000f2n", -locg = "0000eb00000000e2n", -lpq = "0000e3000000008fk", -lpr = "0000000000001000g", -lpgr = "00000000b9000000h", -lpgfr = "00000000b9100000h", -lpxbr = "00000000b3400000h", -lpxr = "00000000b3600000h", -lpdbr = "00000000b3100000h", -lpdr = "0000000000002000g", -lpdfr = "00000000b3700000h", -lpebr = "00000000b3000000h", -lper = "0000000000003000g", -lra = "00000000b1000000j", -lray = "0000e30000000013k", -lrag = "0000e30000000003k", -lrl = "0000c40d00000000l", -lgrl = "0000c40800000000l", -lgfrl = "0000c40c00000000l", -lrvh = "0000e3000000001fk", -lrv = "0000e3000000001ek", -lrvr = "00000000b91f0000h", -lrvg = "0000e3000000000fk", -lrvgr = "00000000b90f0000h", -ldxbr = "00000000b3450000h", -ldxr = "0000000000002500g", -lrdr = "0000000000002500g", -lexbr = "00000000b3460000h", -lexr = "00000000b3660000h", -ledbr = "00000000b3440000h", -ledr = "0000000000003500g", -lrer = "0000000000003500g", -lura = "00000000b24b0000h", -lurag = "00000000b9050000h", -lzxr = "00000000b3760000h", -lzdr = "00000000b3750000h", -lzer = "00000000b3740000h", -msta = "00000000b2470000h", -mvcl = "0000000000000e00g", -mvcle = "00000000a8000000m", -mvclu = "0000eb000000008en", -mvpg = "00000000b2540000h", -mvst = "00000000b2550000h", -m = "000000005c000000j", -mfy = "0000e3000000005ck", -mr = "0000000000001c00g", -mxbr = "00000000b34c0000h", -mxr = "0000000000002600g", -mdbr = "00000000b31c0000h", -md = "000000006c000000j", -mdr = "0000000000002c00g", -mxdbr = "00000000b3070000h", -mxd = "0000000067000000j", -mxdr = "0000000000002700g", -meebr = "00000000b3170000h", -meer = "00000000b3370000h", -mdebr = "00000000b30c0000h", -mde = "000000007c000000j", -mder = "0000000000003c00g", -me = "000000007c000000j", -mer = "0000000000003c00g", -mh = "000000004c000000j", -mhy = "0000e3000000007ck", -mlg = "0000e30000000086k", -mlgr = "00000000b9860000h", -ml = "0000e30000000096k", -mlr = "00000000b9960000h", -ms = "0000000071000000j", -msr = "00000000b2520000h", -msy = "0000e30000000051k", -msg = "0000e3000000000ck", -msgr = "00000000b90c0000h", -msgf = "0000e3000000001ck", -msgfr = "00000000b91c0000h", -msfi = "0000c20100000000l", -msgfi = "0000c20000000000l", -o = "0000000056000000j", -["or"] = "0000000000001600g", -oy = "0000e30000000056k", -og = "0000e30000000081k", -ogr = "00000000b9810000h", -oihf = "0000c00c00000000l", -oilf = "0000c00d00000000l", -pgin = "00000000b22e0000h", -pgout = "00000000b22f0000h", -pcc = "00000000b92c0000h", -pckmo = "00000000b9280000h", -pfmf = "00000000b9af0000h", -ptf = "00000000b9a20000h", -popcnt = "00000000b9e10000h", -pfd = "0000e30000000036k", -pfdrl = "0000c60200000000l", -pt = "00000000b2280000h", -pti = "00000000b99e0000h", -palb = "00000000b2480000h", -rrbe = "00000000b22a0000h", -rrbm = "00000000b9ae0000h", -rll = "0000eb000000001dn", -rllg = "0000eb000000001cn", -srst = "00000000b25e0000h", -srstu = "00000000b9be0000h", -sar = "00000000b24e0000h", -sfpc = "00000000b3840000h", -sfasr = "00000000b3850000h", -spm = "000000000000400g", -ssar = "00000000b2250000h", -ssair = "00000000b99f0000h", -slda = "000000008f000000m", -sldl = "000000008d000000m", -sla = "000000008b000000m", -slak = "0000eb00000000ddn", -slag = "0000eb000000000bn", -sll = "0000000089000000m", -sllk = "0000eb00000000dfn", -sllg = "0000eb000000000dn", -srda = "000000008e000000m", -srdl = "000000008c000000m", -sra = "000000008a000000m", -srak = "0000eb00000000dcn", -srag = "0000eb000000000an", -srl = "0000000088000000m", -srlk = "0000eb00000000den", -srlg = "0000eb000000000cn", -sqxbr = "00000000b3160000h", -sqxr = "00000000b3360000h", -sqdbr = "00000000b3150000h", -sqdr = "00000000b2440000h", -sqebr = "00000000b3140000h", -sqer = "00000000b2450000h", -st = "0000000050000000j", -sty = "0000e30000000050k", -stg = "0000e30000000024k", -std = "0000000060000000j", -stdy = "0000ed0000000067k", -ste = "0000000070000000j", -stey = "0000ed0000000066k", -stam = "000000009b000000m", -stamy = "0000eb000000009bn", -stc = "0000000042000000j", -stcy = "0000e30000000072k", -stch = "0000e300000000c3k", -stcmh = "0000eb000000002cn", -stcm = "00000000be000000m", -stcmy = "0000eb000000002dn", -stctl = "00000000b6000000m", -stctg = "0000eb0000000025n", -sth = "0000000040000000j", -sthy = "0000e30000000070k", -sthh = "0000e300000000c7k", -sthrl = "0000c40700000000l", -stfh = "0000e300000000cbk", -stm = "0000000090000000m", -stmy = "0000eb0000000090n", -stmg = "0000eb0000000024n", -stmh = "0000eb0000000026n", -stoc = "0000eb00000000f3n", -stocg = "0000eb00000000e3n", -stpq = "0000e3000000008ek", -strl = "0000c40f00000000l", -stgrl = "0000c40b00000000l", -strvh = "0000e3000000003fk", -strv = "0000e3000000003ek", -strvg = "0000e3000000002fk", -stura = "00000000b2460000h", -sturg = "00000000b9250000h", -s = "000000005b000000j", -sr = "0000000000001b00g", -sy = "0000e3000000005bk", -sg = "0000e30000000009k", -sgr = "00000000b9090000h", -sgf = "0000e30000000019k", -sgfr = "00000000b9190000h", -sxbr = "00000000b34b0000h", -sdbr = "00000000b31b0000h", -sebr = "00000000b30b0000h", -sh = "000000004b000000j", -shy = "0000e3000000007bk", -sl = "000000005f000000j", -slr = "0000000000001f00g", -sly = "0000e3000000005fk", -slg = "0000e3000000000bk", -slgr = "00000000b90b0000h", -slgf = "0000e3000000001bk", -slgfr = "00000000b91b0000h", -slfi = "0000c20500000000l", -slgfi = "0000c20400000000l", -slb = "0000e30000000099k", -slbr = "00000000b9990000h", -slbg = "0000e30000000089k", -slbgr = "00000000b9890000h", -sxr = "0000000000003700g", -sd = "000000006b000000j", -sdr = "0000000000002b00g", -se = "000000007b000000j", -ser = "0000000000003b00g", -su = "000000007f000000j", -sur = "0000000000003f00g", -sw = "000000006f000000j", -swr = "0000000000002f00g", -tar = "00000000b24c0000h", -tb = "00000000b22c0000h", -trace = "0000000099000000m", -tracg = "0000eb000000000fn", -tre = "00000000b2a50000h", +a_4 = "000000005a000000j", +ar_2 = "0000000000001a00g", +ay_5 = "0000e3000000005al", +ag_5 = "0000e30000000008l", +agr_2 = "00000000b9080000h", +agf_5 = "0000e30000000018l", +agfr_2 = "00000000b9180000h", +axbr_2 = "00000000b34a0000h", +adbr_2 = "00000000b31a0000h", +aebr_2 = "00000000b30a0000h", +ah_4 = "000000004a000000j", +ahy_5 = "0000e3000000007al", +afi_3 = "0000c20900000000n", +agfi_3 = "0000c20800000000n", +aih_3 = "0000cc0800000000n", +al_4 = "000000005e000000j", +alr_2 = "0000000000001e00g", +aly_5 = "0000e3000000005el", +alg_5 = "0000e3000000000al", +algr_2 = "00000000b90a0000h", +algf_5 = "0000e3000000001al", +algfr_2 = "00000000b91a0000h", +alfi_3 = "0000c20b00000000n", +algfi_3 = "0000c20a00000000n", +alc_5 = "0000e30000000098l", +alcr_2 = "00000000b9980000h", +alcg_5 = "0000e30000000088l", +alcgr_2 = "00000000b9880000h", +alsih_3 = "0000cc0a00000000n", +alsihn_3 = "0000cc0b00000000n", +axr_2 = "0000000000003600g", +ad_4 = "000000006a000000j", +adr_2 = "0000000000002a00g", +ae_4 = "000000007a000000j", +aer_2 = "0000000000003a00g", +aw_4 = "000000006e000000j", +awr_2 = "0000000000002e00g", +au_4 = "000000007e000000j", +aur_2 = "0000000000003e00g", +n_4 = "0000000054000000j", +nr_2 = "0000000000001400g", +ny_5 = "0000e30000000054l", +ng_5 = "0000e30000000080l", +ngr_2 = "00000000b9800000h", +nihf_3 = "0000c00a00000000n", +nilf_3 = "0000c00b00000000n", +bal_4 = "0000000045000000j", +balr_2 = "000000000000500g", +bas_4 = "000000004d000000j", +basr_2 = "0000000000000d00g", +bassm_2 = "0000000000000c00g", +bsa_2 = "00000000b25a0000h", +bsm_2 = "0000000000000b00g", +bakr_2 = "00000000b2400000h", +bsg_2 = "00000000b2580000h", +bc_4 = "0000000047000000k", +bcr_2 = "000000000000700g", +bct_4 = "0000000046000000j", +bctr_2 = "000000000000600g", +bctg_5 = "0000e30000000046l", +bctgr_2 = "00000000b9460000h", +bxh_4 = "0000000086000000q", +bxhg_5 = "0000eb0000000044s", +bxle_4 = "0000000087000000q", +bxleg_5 = "0000eb0000000045s", +brasl_3 = "0000c00500000000o", +brcl_3 = "0000c00400000000p", +brcth_3 = "0000cc0600000000o", +cksm_2 = "00000000b2410000h", +km_2 = "00000000b92e0000h", +kmf_2 = "00000000b92a0000h", +kmc_2 = "00000000b92f0000h", +kmo_2 = "00000000b92b0000h", +c_4 = "0000000059000000j", +cr_2 = "0000000000001900g", +cy_5 = "0000e30000000059l", +cg_5 = "0000e30000000020l", +cgr_2 = "00000000b9200000h", +cgf_5 = "0000e30000000030l", +cgfr_2 = "00000000b9300000h", +cxbr_2 = "00000000b3490000h", +cxtr_2 = "00000000b3ec0000h", +cxr_2 = "00000000b3690000h", +cdbr_2 = "00000000b3190000h", +cdtr_2 = "00000000b3e40000h", +cd_4 = "0000000069000000j", +cdr_2 = "0000000000002900g", +cebr_2 = "00000000b3090000h", +ce_4 = "0000000079000000j", +cer_2 = "0000000000003900g", +kxbr_2 = "00000000b3480000h", +kxtr_2 = "00000000b3e80000h", +kdbr_2 = "00000000b3180000h", +kdtr_2 = "00000000b3e00000h", +kebr_2 = "00000000b3080000h", +cs_4 = "00000000ba000000q", +csy_5 = "0000eb0000000014s", +csg_5 = "0000eb0000000030s", +csp_2 = "00000000b2500000h", +cspg_2 = "00000000b98a0000h", +cextr_2 = "00000000b3fc0000h", +cedtr_2 = "00000000b3f40000h", +cds_4 = "00000000bb000000q", +cdsy_5 = "0000eb0000000031s", +cdsg_5 = "0000eb000000003es", +ch_4 = "0000000049000000j", +chy_5 = "0000e30000000079l", +cgh_5 = "0000e30000000034l", +chrl_3 = "0000c60500000000o", +cghrl_3 = "0000c60400000000o", +chf_5 = "0000e300000000cdl", +chhr_2 = "00000000b9cd0000h", +chlr_2 = "00000000b9dd0000h", +cfi_3 = "0000c20d00000000n", +cgfi_3 = "0000c20c00000000n", +cih_3 = "0000cc0d00000000n", +cl_4 = "0000000055000000j", +clr_2 = "0000000000001500g", +cly_5 = "0000e30000000055l", +clg_5 = "0000e30000000021l", +clgr_2 = "00000000b9210000h", +clgf_5 = "0000e30000000031l", +clgfr_2 = "00000000b9310000h", +clmh_5 = "0000eb0000000020t", +clm_4 = "00000000bd000000r", +clmy_5 = "0000eb0000000021t", +clhf_5 = "0000e300000000cfl", +clhhr_2 = "00000000b9cf0000h", +clhlr_2 = "00000000b9df0000h", +clfi_3 = "0000c20f00000000n", +clgfi_3 = "0000c20e00000000n", +clih_3 = "0000cc0f00000000n", +clcl_2 = "0000000000000f00g", +clcle_4 = "00000000a9000000q", +clclu_5 = "0000eb000000008fs", +clrl_3 = "0000c60f00000000o", +clhrl_3 = "0000c60700000000o", +clgrl_3 = "0000c60a00000000o", +clghrl_3 = "0000c60600000000o", +clgfrl_3 = "0000c60e00000000o", +clst_2 = "00000000b25d0000h", +crl_3 = "0000c60d00000000o", +cgrl_3 = "0000c60800000000o", +cgfrl_3 = "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_4 = "000000004f000000j", +cvby_5 = "0000e30000000006l", +cvbg_5 = "0000e3000000000el", +cvd_4 = "000000004e000000j", +cvdy_5 = "0000e30000000026l", +cvdg_5 = "0000e3000000002el", +cuxtr_2 = "00000000b3ea0000h", +cudtr_2 = "00000000b3e20000h", +cu42_2 = "00000000b9b30000h", +cu41_2 = "00000000b9b20000h", +cpya_2 = "00000000b24d0000h", +d_4 = "000000005d000000j", +dr_2 = "0000000000001d00g", +dxbr_2 = "00000000b34d0000h", +dxr_2 = "00000000b22d0000h", +ddbr_2 = "00000000b31d0000h", +dd_4 = "000000006d000000j", +ddr_2 = "0000000000002d00g", +debr_2 = "00000000b30d0000h", +de_4 = "000000007d000000j", +der_2 = "0000000000003d00g", +dl_5 = "0000e30000000097l", +dlr_2 = "00000000b9970000h", +dlg_5 = "0000e30000000087l", +dlgr_2 = "00000000b9870000h", +dsg_5 = "0000e3000000000dl", +dsgr_2 = "00000000b90d0000h", +dsgf_5 = "0000e3000000001dl", +dsgfr_2 = "00000000b91d0000h", +x_4 = "0000000057000000j", +xr_2 = "0000000000001700g", +xy_5 = "0000e30000000057l", +xg_5 = "0000e30000000082l", +xgr_2 = "00000000b9820000h", +xihf_3 = "0000c00600000000n", +xilf_3 = "0000c00700000000n", +ex_4 = "0000000044000000j", +exrl_3 = "0000c60000000000o", +ear_2 = "00000000b24f0000h", +esea_2 = "00000000b99d0000h", +eextr_2 = "00000000b3ed0000h", +eedtr_2 = "00000000b3e50000h", +ecag_5 = "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_4 = "0000000043000000j", +icy_5 = "0000e30000000073l", +icmh_5 = "0000eb0000000080t", +icm_4 = "00000000bf000000r", +icmy_5 = "0000eb0000000081t", +iihf_3 = "0000c00800000000n", +iilf_3 = "0000c00900000000n", +ipm_2 = "00000000b2220000h", +iske_2 = "00000000b2290000h", +ivsk_2 = "00000000b2230000h", +l_4 = "0000000058000000j", +lr_2 = "0000000000001800g", +ly_5 = "0000e30000000058l", +lg_5 = "0000e30000000004l", +lgr_2 = "00000000b9040000h", +lgf_5 = "0000e30000000014l", +lgfr_2 = "00000000b9140000h", +lxr_2 = "00000000b3650000h", +ld_4 = "0000000068000000j", +ldr_2 = "0000000000002800g", +ldy_5 = "0000ed0000000065l", +le_4 = "0000000078000000j", +ler_2 = "0000000000003800g", +ley_5 = "0000ed0000000064l", +lam_4 = "000000009a000000q", +lamy_5 = "0000eb000000009as", +la_4 = "0000000041000000j", +lay_5 = "0000e30000000071l", +lae_4 = "0000000051000000j", +laey_5 = "0000e30000000075l", +larl_3 = "0000c00000000000o", +laa_5 = "0000eb00000000f8s", +laag_5 = "0000eb00000000e8s", +laal_5 = "0000eb00000000fas", +laalg_5 = "0000eb00000000eas", +lan_5 = "0000eb00000000f4s", +lang_5 = "0000eb00000000e4s", +lax_5 = "0000eb00000000f7s", +laxg_5 = "0000eb00000000e7s", +lao_5 = "0000eb00000000f6s", +laog_5 = "0000eb00000000e6s", +lt_5 = "0000e30000000012l", +ltr_2 = "0000000000001200g", +ltg_5 = "0000e30000000002l", +ltgr_2 = "00000000b9020000h", +ltgf_5 = "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_5 = "0000e30000000076l", +lbr_2 = "00000000b9260000h", +lgb_5 = "0000e30000000077l", +lgbr_2 = "00000000b9060000h", +lbh_5 = "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_4 = "00000000b7000000q", +lctlg_5 = "0000eb000000002fs", +fixr_2 = "00000000b3670000h", +fidr_2 = "00000000b37f0000h", +fier_2 = "00000000b3770000h", +ldgr_2 = "00000000b3c10000h", +lgdr_2 = "00000000b3cd0000h", +lh_4 = "0000000048000000j", +lhr_2 = "00000000b9270000h", +lhy_5 = "0000e30000000078l", +lgh_5 = "0000e30000000015l", +lghr_2 = "00000000b9070000h", +lhh_5 = "0000e300000000c4l", +lhrl_3 = "0000c40500000000o", +lghrl_3 = "0000c40400000000o", +lfh_5 = "0000e300000000cal", +lgfi_3 = "0000c00100000000n", +lxdbr_2 = "00000000b3050000h", +lxdr_2 = "00000000b3250000h", +lxebr_2 = "00000000b3060000h", +lxer_2 = "00000000b3260000h", +ldebr_2 = "00000000b3040000h", +lder_2 = "00000000b3240000h", +llgf_5 = "0000e30000000016l", +llgfr_2 = "00000000b9160000h", +llc_5 = "0000e30000000094l", +llcr_2 = "00000000b9940000h", +llgc_5 = "0000e30000000090l", +llgcr_2 = "00000000b9840000h", +llch_5 = "0000e300000000c2l", +llh_5 = "0000e30000000095l", +llhr_2 = "00000000b9950000h", +llgh_5 = "0000e30000000091l", +llghr_2 = "00000000b9850000h", +llhh_5 = "0000e300000000c6l", +llhrl_3 = "0000c40200000000o", +llghrl_3 = "0000c40600000000o", +llihf_3 = "0000c00e00000000n", +llilf_3 = "0000c00f00000000n", +llgfrl_3 = "0000c40e00000000o", +llgt_5 = "0000e30000000017l", +llgtr_2 = "00000000b9170000h", +lm_4 = "0000000098000000q", +lmy_5 = "0000eb0000000098s", +lmg_5 = "0000eb0000000004s", +lmh_5 = "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_5 = "0000eb00000000f2t", +locg_5 = "0000eb00000000e2t", +lpq_5 = "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_4 = "00000000b1000000j", +lray_5 = "0000e30000000013l", +lrag_5 = "0000e30000000003l", +lrl_3 = "0000c40d00000000o", +lgrl_3 = "0000c40800000000o", +lgfrl_3 = "0000c40c00000000o", +lrvh_5 = "0000e3000000001fl", +lrv_5 = "0000e3000000001el", +lrvr_2 = "00000000b91f0000h", +lrvg_5 = "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_4 = "00000000a8000000q", +mvclu_5 = "0000eb000000008es", +mvpg_2 = "00000000b2540000h", +mvst_2 = "00000000b2550000h", +m_4 = "000000005c000000j", +mfy_5 = "0000e3000000005cl", +mr_2 = "0000000000001c00g", +mxbr_2 = "00000000b34c0000h", +mxr_2 = "0000000000002600g", +mdbr_2 = "00000000b31c0000h", +md_4 = "000000006c000000j", +mdr_2 = "0000000000002c00g", +mxdbr_2 = "00000000b3070000h", +mxd_4 = "0000000067000000j", +mxdr_2 = "0000000000002700g", +meebr_2 = "00000000b3170000h", +meer_2 = "00000000b3370000h", +mdebr_2 = "00000000b30c0000h", +mde_4 = "000000007c000000j", +mder_2 = "0000000000003c00g", +me_4 = "000000007c000000j", +mer_2 = "0000000000003c00g", +mh_4 = "000000004c000000j", +mhy_5 = "0000e3000000007cl", +mlg_5 = "0000e30000000086l", +mlgr_2 = "00000000b9860000h", +ml_5 = "0000e30000000096l", +mlr_2 = "00000000b9960000h", +ms_4 = "0000000071000000j", +msr_2 = "00000000b2520000h", +msy_5 = "0000e30000000051l", +msg_5 = "0000e3000000000cl", +msgr_2 = "00000000b90c0000h", +msgf_5 = "0000e3000000001cl", +msgfr_2 = "00000000b91c0000h", +msfi_3 = "0000c20100000000n", +msgfi_3 = "0000c20000000000n", +o_4 = "0000000056000000j", +["or_2"] = "0000000000001600g", +oy_5 = "0000e30000000056l", +og_5 = "0000e30000000081l", +ogr_2 = "00000000b9810000h", +oihf_3 = "0000c00c00000000n", +oilf_3 = "0000c00d00000000n", +pgin_2 = "00000000b22e0000h", +pgout_2 = "00000000b22f0000h", +pcc_2 = "00000000b92c0000h", +pckmo_2 = "00000000b9280000h", +pfmf_2 = "00000000b9af0000h", +ptf_2 = "00000000b9a20000h", +popcnt_2 = "00000000b9e10000h", +pfd_5 = "0000e30000000036m", +pfdrl_3 = "0000c60200000000p", +pt_2 = "00000000b2280000h", +pti_2 = "00000000b99e0000h", +palb_2 = "00000000b2480000h", +rrbe_2 = "00000000b22a0000h", +rrbm_2 = "00000000b9ae0000h", +rll_5 = "0000eb000000001ds", +rllg_5 = "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_4 = "000000008f000000q", +sldl_4 = "000000008d000000q", +sla_4 = "000000008b000000q", +slak_5 = "0000eb00000000dds", +slag_5 = "0000eb000000000bs", +sll_4 = "0000000089000000q", +sllk_5 = "0000eb00000000dfs", +sllg_5 = "0000eb000000000ds", +srda_4 = "000000008e000000q", +srdl_4 = "000000008c000000q", +sra_4 = "000000008a000000q", +srak_5 = "0000eb00000000dcs", +srag_5 = "0000eb000000000as", +srl_4 = "0000000088000000q", +srlk_5 = "0000eb00000000des", +srlg_5 = "0000eb000000000cs", +sqxbr_2 = "00000000b3160000h", +sqxr_2 = "00000000b3360000h", +sqdbr_2 = "00000000b3150000h", +sqdr_2 = "00000000b2440000h", +sqebr_2 = "00000000b3140000h", +sqer_2 = "00000000b2450000h", +st_4 = "0000000050000000j", +sty_5 = "0000e30000000050l", +stg_5 = "0000e30000000024l", +std_4 = "0000000060000000j", +stdy_5 = "0000ed0000000067l", +ste_4 = "0000000070000000j", +stey_5 = "0000ed0000000066l", +stam_4 = "000000009b000000q", +stamy_5 = "0000eb000000009bs", +stc_4 = "0000000042000000j", +stcy_5 = "0000e30000000072l", +stch_5 = "0000e300000000c3l", +stcmh_5 = "0000eb000000002ct", +stcm_4 = "00000000be000000r", +stcmy_5 = "0000eb000000002dt", +stctl_4 = "00000000b6000000q", +stctg_5 = "0000eb0000000025s", +sth_4 = "0000000040000000j", +sthy_5 = "0000e30000000070l", +sthh_5 = "0000e300000000c7l", +sthrl_3 = "0000c40700000000o", +stfh_5 = "0000e300000000cbl", +stm_4 = "0000000090000000q", +stmy_5 = "0000eb0000000090s", +stmg_5 = "0000eb0000000024s", +stmh_5 = "0000eb0000000026s", +stoc_5 = "0000eb00000000f3t", +stocg_5 = "0000eb00000000e3t", +stpq_5 = "0000e3000000008el", +strl_3 = "0000c40f00000000o", +stgrl_3 = "0000c40b00000000o", +strvh_5 = "0000e3000000003fl", +strv_5 = "0000e3000000003el", +strvg_5 = "0000e3000000002fl", +stura_2 = "00000000b2460000h", +sturg_2 = "00000000b9250000h", +s_4 = "000000005b000000j", +sr_2 = "0000000000001b00g", +sy_5 = "0000e3000000005bl", +sg_5 = "0000e30000000009l", +sgr_2 = "00000000b9090000h", +sgf_5 = "0000e30000000019l", +sgfr_2 = "00000000b9190000h", +sxbr_2 = "00000000b34b0000h", +sdbr_2 = "00000000b31b0000h", +sebr_2 = "00000000b30b0000h", +sh_4 = "000000004b000000j", +shy_5 = "0000e3000000007bl", +sl_4 = "000000005f000000j", +slr_2 = "0000000000001f00g", +sly_5 = "0000e3000000005fl", +slg_5 = "0000e3000000000bl", +slgr_2 = "00000000b90b0000h", +slgf_5 = "0000e3000000001bl", +slgfr_2 = "00000000b91b0000h", +slfi_3 = "0000c20500000000n", +slgfi_3 = "0000c20400000000n", +slb_5 = "0000e30000000099l", +slbr_2 = "00000000b9990000h", +slbg_5 = "0000e30000000089l", +slbgr_2 = "00000000b9890000h", +sxr_2 = "0000000000003700g", +sd_4 = "000000006b000000j", +sdr_2 = "0000000000002b00g", +se_4 = "000000007b000000j", +ser_2 = "0000000000003b00g", +su_4 = "000000007f000000j", +sur_2 = "0000000000003f00g", +sw_4 = "000000006f000000j", +swr_2 = "0000000000002f00g", +tar_2 = "00000000b24c0000h", +tb_2 = "00000000b22c0000h", +trace_4 = "0000000099000000q", +tracg_5 = "0000eb000000000fs", +tre_2 = "00000000b2a50000h", } for cond,c in pairs(map_cond) do -- Extended mnemonics for branches. @@ -1230,13 +1230,17 @@ local function parse_template(params, template, nparams, pos) local pr1,pr2,pr3 if p == "g" then pr1,pr2=param[n],param[n+1] - op = op + parse_reg(pr1)+parse_reg(pr2); n = n + 1 -- not sure if we will require n later, so keeping it as it is now + op = op + shl(parse_reg(pr1),4) + parse_reg(pr2); n = n + 1 -- not sure if we will require n later, so keeping it as it is now elseif p == "h" then - + pr1,pr2=param[n],param[n+1] + op = op + shl(parse_reg(pr1),4) + parse_reg(pr2) elseif p == "j" then - + op = op + shl(parse_reg(param[1],24) + shl(parse_reg(param[2],20) + shl(parse_reg(param[3]),16) + parse_number(param[4]) + -- assuming that the parameters are passes in order (R1,X2,B2,D) --only RX-a is satisfied + elseif p == "k" then - + op = op + shl(parse_reg(param[1],40) + shl(parse_reg(param[2],36) + shl(parse_reg(param[3]),32) + parse_number(param[4]) parse_number(param[5]) + -- assuming params are passed as (R1,X2,B2,DL2,DH2) elseif p == "l" then elseif p == "m" then