From 5385809d306bb56f2c0efe0940718b5dd1612b24 Mon Sep 17 00:00:00 2001 From: Mike Pall Date: Wed, 10 Aug 2011 21:50:11 +0200 Subject: PPC: Add mtcrf instruction to DynASM. --- dynasm/dasm_ppc.lua | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'dynasm') diff --git a/dynasm/dasm_ppc.lua b/dynasm/dasm_ppc.lua index bb6de01e..8ff92585 100644 --- a/dynasm/dasm_ppc.lua +++ b/dynasm/dasm_ppc.lua @@ -339,7 +339,8 @@ local map_op = { iselgt_3 = "7c00005eRRR", iseleq_3 = "7c00009eRRR", mfcr_1 = "7c000026R", - -- NYI: mtcrf, mtocrf, mfocrf + mtcrf_2 = "7c000120GR", + -- NYI: mtocrf, mfocrf lwarx_3 = "7c000028RR0R", ldx_3 = "7c00002aRR0R", lwzx_3 = "7c00002eRR0R", @@ -1025,6 +1026,8 @@ map_op[".template__"] = function(params, template, nparams) rs = rs - 5; op = op + parse_cr(params[n]) * 2^(rs+2); n = n + 1 elseif p == "W" then op = op + parse_cr(params[n]); n = n + 1 + elseif p == "G" then + op = op + parse_imm(params[n], 8, 12, 0, false); n = n + 1 elseif p == "J" or p == "K" then local mode, n, s = parse_label(params[n], false) if p == "K" then n = n + 2048 end -- cgit v1.2.1