From a719ef51e8b6f678e23e96d7a83c3e7e22b731c9 Mon Sep 17 00:00:00 2001 From: Bob Supnik Date: Mon, 17 Apr 2017 10:10:03 -0700 Subject: [PATCH] alpha: Fixed function field widths (Maurice Marks) Maurice Marks, at VMS Software Inc, is using the Alpha instruction emulator from SimH as a backup to an Alpha binary translator! He found a bug in the instructions definitions: function fields, both integer and floating, are 7b not 6b. --- alpha/alpha_defs.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/alpha/alpha_defs.h b/alpha/alpha_defs.h index afd617ae..284b6905 100644 --- a/alpha/alpha_defs.h +++ b/alpha/alpha_defs.h @@ -1,6 +1,6 @@ /* alpha_defs.h: Alpha architecture definitions file - Copyright (c) 2003-2006, Robert M Supnik + Copyright (c) 2003-2017, Robert M Supnik Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), @@ -26,6 +26,8 @@ Respectfully dedicated to the great people of the Alpha chip, systems, and software development projects; and to the memory of Peter Conklin, of the Alpha Program Office. + + 17-Mar-2017 RMS Fixed function field widths (Maurice Marks) */ #ifndef _ALPHA_DEFS_H_ @@ -113,13 +115,13 @@ #define I_FSRC (I_M_FSRC << I_V_FSRC) #define I_FSRC_X 0x0200 /* data type X */ #define I_V_FFNC 5 /* floating function */ -#define I_M_FFNC 0x3F +#define I_M_FFNC 0x7F #define I_V_LIT8 13 /* integer 8b literal */ #define I_M_LIT8 0xFF #define I_V_ILIT 12 /* literal flag */ #define I_ILIT (1u << I_V_ILIT) #define I_V_IFNC 5 /* integer function */ -#define I_M_IFNC 0x3F +#define I_M_IFNC 0x7F #define I_V_RC 0 /* Rc */ #define I_M_RC 0x1F #define I_V_MDSP 0 /* memory displacement */