From 127f0fd7451f2f2ffa366748655951fd101e8adc Mon Sep 17 00:00:00 2001 From: niravthakkar Date: Wed, 7 Dec 2016 20:21:06 +0530 Subject: [PATCH] Adding RRD support Currently only "maer" is implemented. I am not able to get this working, don't know if I am missing out something, or we need to add some more functionality for RRD. --- dynasm/dasm_s390x.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/dynasm/dasm_s390x.lua b/dynasm/dasm_s390x.lua index cfe861cb..ff6984ca 100644 --- a/dynasm/dasm_s390x.lua +++ b/dynasm/dasm_s390x.lua @@ -885,6 +885,7 @@ map_op = { msgfr_2 = "0000b91c0000h", msfi_2 = "c20100000000n", msgfi_2 = "c20000000000n", + maer_3 = "0000b32e0000r", o_2 = "000056000000j", or_2 = "000000001600g", oy_2 = "e30000000056l", @@ -1080,6 +1081,9 @@ local function parse_template(params, template, nparams, pos) op2 = op2 + shl(b, 12) + d wputhw(op1); wputhw(op2) if a then a() end -- a() emits action. + elseif p == "r" then + op2 = op2 + shl(parse_reg(params[1]),12) + shl(parse_reg(params[2]),4) + parse_reg(params[3]) + wputhw(op1); wputhw(op2) elseif p == "s" then local d, b, a = parse_mem_by(params[3]) op0 = op0 + shl(parse_reg(params[1]), 4) + parse_reg(params[2])