From 4e7fada26c623f2df021f2d203e5540a1320abe5 Mon Sep 17 00:00:00 2001 From: Mark Pizzolato Date: Fri, 27 May 2016 15:09:40 -0700 Subject: [PATCH] VAX: Fix decode of octaword instructions EXAMINE -M now properly displays instruction arguments for octaword instructions. --- VAX/vax_cpu.c | 2 ++ VAX/vax_defs.h | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/VAX/vax_cpu.c b/VAX/vax_cpu.c index c08ba64c..17cb9b0b 100644 --- a/VAX/vax_cpu.c +++ b/VAX/vax_cpu.c @@ -2533,6 +2533,7 @@ for ( ;; ) { temp = op_ffs (r, op1); /* find first 1 */ WRITE_L (op0 + temp); /* store result */ cc = r? 0: CC_Z; /* set cc's */ + r = op0 + temp; if ((cc == CC_Z) && /* No set bits found? */ (cpu_idle_mask & VAX_IDLE_ULT1X) && /* running Ultrix 1.X" */ (PSL_GETIPL (PSL) == 0x0) && /* at IPL 0? */ @@ -2547,6 +2548,7 @@ for ( ;; ) { temp = op_ffs (r, op1); /* find first 1 */ WRITE_L (op0 + temp); /* store result */ cc = r? 0: CC_Z; /* set cc's */ + r = op0 + temp; break; /* Insert field instruction - insv src.rl,pos.rb,size.rl,base.wb diff --git a/VAX/vax_defs.h b/VAX/vax_defs.h index 6b103798..06a590f3 100644 --- a/VAX/vax_defs.h +++ b/VAX/vax_defs.h @@ -381,7 +381,7 @@ extern jmp_buf save_env; #define DR_V_USPMASK 4 #define DR_M_USPMASK 0x70 /* #spec, sym_ */ #define DR_GETNSP(x) ((x) & DR_NSPMASK) -#define DR_GETUSP(x) (((x) >> DR_V_USPMASK) & DR_M_USPMASK) +#define DR_GETUSP(x) (((x) & DR_M_USPMASK) >> DR_V_USPMASK) /* Extra bits in the opcode flag word of the Decode ROM array only for history results */