From 48b00297b3b37fe77f59f2f4b6fa63358b442f15 Mon Sep 17 00:00:00 2001 From: Mike Pall Date: Wed, 7 Dec 2016 18:34:10 +0100 Subject: [PATCH] ARM64: Add missing ldrb/strb instructions to disassembler. Contributed by Djordje Kovacevic and Stefan Pejic from RT-RK.com. --- src/jit/dis_arm64.lua | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/jit/dis_arm64.lua b/src/jit/dis_arm64.lua index 909b33bc..8cb608e6 100644 --- a/src/jit/dis_arm64.lua +++ b/src/jit/dis_arm64.lua @@ -411,15 +411,19 @@ local map_lsriro = { shift = 26, mask = 1, [0] = { shift = 30, mask = 3, - [1] = { + [0] = { shift = 22, mask = 3, - [0] = "strhDwO", "ldrhDwO", "ldrshDwO", "ldrshDxO" + [0] = "strbDwO", "ldrbDwO", "ldrsbDxO", "ldrsbDwO" }, - [2] = { + { + shift = 22, mask = 3, + [0] = "strhDwO", "ldrhDwO", "ldrshDxO", "ldrshDwO" + }, + { shift = 22, mask = 3, [0] = "strDwO", "ldrDwO", "ldrswDxO" }, - [3] = { + { shift = 22, mask = 3, [0] = "strDxO", "ldrDxO" } @@ -982,7 +986,7 @@ local function disass_ins(ctx) local sz = band(rshift(op, 30), 3) -- extension to be applied if opt == 3 then - if s == 0 then x = nil + if s == 0 then x = x.."]" else x = x..", lsl #"..sz.."]" end elseif opt == 2 or opt == 6 or opt == 7 then if s == 0 then x = x..", "..map_extend[opt].."]"