From d63ff89c548660f0bf42fcebb8282a292e175a50 Mon Sep 17 00:00:00 2001 From: niravthakkar Date: Wed, 14 Dec 2016 19:07:05 +0530 Subject: [PATCH] Added support for RRD addressing mode We may not require RRD mode but, Added to check working of RRF-e. --- dynasm/dasm_s390x.lua | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/dynasm/dasm_s390x.lua b/dynasm/dasm_s390x.lua index db5aa892..fc65b810 100644 --- a/dynasm/dasm_s390x.lua +++ b/dynasm/dasm_s390x.lua @@ -1205,6 +1205,8 @@ map_op = { ni_2 = "000094000000SI", -- RXF madb_3 = "ed000000001eRXF", + --RRD + maebr_3 = "0000b30e0000RRD", } for cond,c in pairs(map_cond) do -- Extended mnemonics for branches. @@ -1394,6 +1396,10 @@ local function parse_template(params, template, nparams, pos) if a then a() end op2 = op2 + shl(parse_reg(params[1]),12) wputhw(op2) + elseif p == "RRD" then + wputhw(op1) + op2 = op2 + shl(parse_reg(params[1]),12) + shl(parse_reg(params[2]),4) + parse_reg(params[3]) + wputhw(op2) elseif p == "w" then local mode, n, s = parse_label(params[1]) wputhw(op1)