@ -55,7 +55,7 @@
# define MEMORY_BRANCH_FORMAT_MASK 0xfc00c000
# define BRANCH_FORMAT_MASK 0xfc000000
# define OPERATE_FORMAT_MASK 0xfc000fe0
# define FLOAT_FORMAT_MASK 0xfc000 fe0
# define FLOAT_FORMAT_MASK 0xfc00f fe0
typedef struct
{
@ -139,6 +139,7 @@ MEMORY_FORMAT( 0x0f, "stq_u"),
MEMORY_FORMAT_FUNCTION ( 0x18 , 0x8000 , " fetch " ) ,
MEMORY_FORMAT_FUNCTION ( 0x18 , 0xe000 , " rc " ) ,
MEMORY_FORMAT_FUNCTION ( 0x18 , 0x0000 , " trapb " ) ,
MEMORY_FORMAT_FUNCTION ( 0x18 , 0x0400 , " excb " ) , /* axp arch manual version 2 */
MEMORY_FORMAT_FUNCTION ( 0x18 , 0xa000 , " fetch_m " ) ,
MEMORY_FORMAT_FUNCTION ( 0x18 , 0xc000 , " rpcc " ) ,
MEMORY_FORMAT_FUNCTION ( 0x18 , 0x4000 , " mb " ) ,
@ -381,6 +382,24 @@ FLOAT_FORMAT(0x16, 0x7be, "cvtqt/sui"),
FLOAT_FORMAT ( 0x16 , 0x73e , " cvtqt/suic " ) ,
FLOAT_FORMAT ( 0x16 , 0x77e , " cvtqt/suim " ) ,
FLOAT_FORMAT ( 0x16 , 0x7fe , " cvtqt/suid " ) ,
FLOAT_FORMAT ( 0x16 , 0x2ac , " cvtst " ) , /* note: floatop is same as cvtts! */
FLOAT_FORMAT ( 0x16 , 0x6ac , " cvtst/s " ) , /* note: floatop is same as cvtts! */
FLOAT_FORMAT ( 0x16 , 0x0af , " cvttq " ) ,
FLOAT_FORMAT ( 0x16 , 0x02f , " cvttq/c " ) ,
FLOAT_FORMAT ( 0x16 , 0x1af , " cvttq/v " ) ,
FLOAT_FORMAT ( 0x16 , 0x12f , " cvttq/vc " ) ,
FLOAT_FORMAT ( 0x16 , 0x5af , " cvttq/sv " ) ,
FLOAT_FORMAT ( 0x16 , 0x52f , " cvttq/svc " ) ,
FLOAT_FORMAT ( 0x16 , 0x7af , " cvttq/svi " ) ,
FLOAT_FORMAT ( 0x16 , 0x72f , " cvttq/svic " ) ,
FLOAT_FORMAT ( 0x16 , 0x0ef , " cvttq/d " ) ,
FLOAT_FORMAT ( 0x16 , 0x1ef , " cvttq/vd " ) ,
FLOAT_FORMAT ( 0x16 , 0x5ef , " cvttq/svd " ) ,
FLOAT_FORMAT ( 0x16 , 0x7ef , " cvttq/svid " ) ,
FLOAT_FORMAT ( 0x16 , 0x06f , " cvttq/m " ) ,
FLOAT_FORMAT ( 0x16 , 0x16f , " cvttq/vm " ) ,
FLOAT_FORMAT ( 0x16 , 0x56f , " cvttq/svm " ) ,
FLOAT_FORMAT ( 0x16 , 0x76f , " cvttq/svim " ) ,
FLOAT_FORMAT ( 0x16 , 0x0ac , " cvtts " ) ,
FLOAT_FORMAT ( 0x16 , 0x02c , " cvtts/c " ) ,
FLOAT_FORMAT ( 0x16 , 0x06c , " cvtts/m " ) ,
@ -496,112 +515,112 @@ FLOAT_FORMAT(0x16, 0x7e1, "subt/suid"),
/* VAX floating point operations: */
FLOAT_FORMAT ( 0x16 , 0x080 , " addf " ) ,
FLOAT_FORMAT ( 0x16 , 0x000 , " addf/c " ) ,
FLOAT_FORMAT ( 0x16 , 0x180 , " addf/u " ) ,
FLOAT_FORMAT ( 0x16 , 0x100 , " addf/uc " ) ,
FLOAT_FORMAT ( 0x16 , 0x480 , " addf/s " ) ,
FLOAT_FORMAT ( 0x16 , 0x400 , " addf/sc " ) ,
FLOAT_FORMAT ( 0x16 , 0x580 , " addf/su " ) ,
FLOAT_FORMAT ( 0x16 , 0x500 , " addf/suc " ) ,
FLOAT_FORMAT ( 0x16 , 0x09e , " cvtdg " ) ,
FLOAT_FORMAT ( 0x16 , 0x01e , " cvtdg/c " ) ,
FLOAT_FORMAT ( 0x16 , 0x19e , " cvtdg/u " ) ,
FLOAT_FORMAT ( 0x16 , 0x11e , " cvtdg/uc " ) ,
FLOAT_FORMAT ( 0x16 , 0x49e , " cvtdg/s " ) ,
FLOAT_FORMAT ( 0x16 , 0x41e , " cvtdg/sc " ) ,
FLOAT_FORMAT ( 0x16 , 0x59e , " cvtdg/su " ) ,
FLOAT_FORMAT ( 0x16 , 0x51e , " cvtdg/suc " ) ,
FLOAT_FORMAT ( 0x16 , 0x0a0 , " addg " ) ,
FLOAT_FORMAT ( 0x16 , 0x020 , " addg/c " ) ,
FLOAT_FORMAT ( 0x16 , 0x1a0 , " addg/u " ) ,
FLOAT_FORMAT ( 0x16 , 0x120 , " addg/uc " ) ,
FLOAT_FORMAT ( 0x16 , 0x4a0 , " addg/s " ) ,
FLOAT_FORMAT ( 0x16 , 0x420 , " addg/sc " ) ,
FLOAT_FORMAT ( 0x16 , 0x5a0 , " addg/su " ) ,
FLOAT_FORMAT ( 0x16 , 0x520 , " addg/suc " ) ,
FLOAT_FORMAT ( 0x16 , 0x0a5 , " cmpgeq " ) ,
FLOAT_FORMAT ( 0x16 , 0x4a5 , " cmpgeq/s " ) ,
FLOAT_FORMAT ( 0x16 , 0x0a6 , " cmpglt " ) ,
FLOAT_FORMAT ( 0x16 , 0x4a6 , " cmpglt/s " ) ,
FLOAT_FORMAT ( 0x16 , 0x0a7 , " cmpgle " ) ,
FLOAT_FORMAT ( 0x16 , 0x4a7 , " cmpgle/s " ) ,
FLOAT_FORMAT ( 0x16 , 0x0ac , " cvtgf " ) ,
FLOAT_FORMAT ( 0x16 , 0x02c , " cvtgf/c " ) ,
FLOAT_FORMAT ( 0x16 , 0x1ac , " cvtgf/u " ) ,
FLOAT_FORMAT ( 0x16 , 0x12c , " cvtgf/uc " ) ,
FLOAT_FORMAT ( 0x16 , 0x4ac , " cvtgf/s " ) ,
FLOAT_FORMAT ( 0x16 , 0x42c , " cvtgf/sc " ) ,
FLOAT_FORMAT ( 0x16 , 0x5ac , " cvtgf/su " ) ,
FLOAT_FORMAT ( 0x16 , 0x52c , " cvtgf/suc " ) ,
FLOAT_FORMAT ( 0x16 , 0x0ad , " cvtgd " ) ,
FLOAT_FORMAT ( 0x16 , 0x02d , " cvtgd/c " ) ,
FLOAT_FORMAT ( 0x16 , 0x1ad , " cvtgd/u " ) ,
FLOAT_FORMAT ( 0x16 , 0x12d , " cvtgd/uc " ) ,
FLOAT_FORMAT ( 0x16 , 0x4ad , " cvtgd/s " ) ,
FLOAT_FORMAT ( 0x16 , 0x42d , " cvtgd/sc " ) ,
FLOAT_FORMAT ( 0x16 , 0x5ad , " cvtgd/su " ) ,
FLOAT_FORMAT ( 0x16 , 0x52d , " cvtgd/suc " ) ,
FLOAT_FORMAT ( 0x16 , 0x0bc , " cvtqf " ) ,
FLOAT_FORMAT ( 0x16 , 0x03c , " cvtqf/c " ) ,
FLOAT_FORMAT ( 0x16 , 0x0be , " cvtqg " ) ,
FLOAT_FORMAT ( 0x16 , 0x03e , " cvtqg/c " ) ,
FLOAT_FORMAT ( 0x16 , 0x083 , " divf " ) ,
FLOAT_FORMAT ( 0x16 , 0x003 , " divf/c " ) ,
FLOAT_FORMAT ( 0x16 , 0x183 , " divf/u " ) ,
FLOAT_FORMAT ( 0x16 , 0x103 , " divf/uc " ) ,
FLOAT_FORMAT ( 0x16 , 0x483 , " divf/s " ) ,
FLOAT_FORMAT ( 0x16 , 0x403 , " divf/sc " ) ,
FLOAT_FORMAT ( 0x16 , 0x583 , " divf/su " ) ,
FLOAT_FORMAT ( 0x16 , 0x503 , " divf/suc " ) ,
FLOAT_FORMAT ( 0x16 , 0x0a3 , " divg " ) ,
FLOAT_FORMAT ( 0x16 , 0x023 , " divg/c " ) ,
FLOAT_FORMAT ( 0x16 , 0x1a3 , " divg/u " ) ,
FLOAT_FORMAT ( 0x16 , 0x123 , " divg/uc " ) ,
FLOAT_FORMAT ( 0x16 , 0x4a3 , " divg/s " ) ,
FLOAT_FORMAT ( 0x16 , 0x423 , " divg/sc " ) ,
FLOAT_FORMAT ( 0x16 , 0x5a3 , " divg/su " ) ,
FLOAT_FORMAT ( 0x16 , 0x523 , " divg/suc " ) ,
FLOAT_FORMAT ( 0x16 , 0x082 , " mulf " ) ,
FLOAT_FORMAT ( 0x16 , 0x002 , " mulf/c " ) ,
FLOAT_FORMAT ( 0x16 , 0x182 , " mulf/u " ) ,
FLOAT_FORMAT ( 0x16 , 0x102 , " mulf/uc " ) ,
FLOAT_FORMAT ( 0x16 , 0x482 , " mulf/s " ) ,
FLOAT_FORMAT ( 0x16 , 0x402 , " mulf/sc " ) ,
FLOAT_FORMAT ( 0x16 , 0x582 , " mulf/su " ) ,
FLOAT_FORMAT ( 0x16 , 0x502 , " mulf/suc " ) ,
FLOAT_FORMAT ( 0x16 , 0x0a2 , " mulg " ) ,
FLOAT_FORMAT ( 0x16 , 0x022 , " mulg/c " ) ,
FLOAT_FORMAT ( 0x16 , 0x1a2 , " mulg/u " ) ,
FLOAT_FORMAT ( 0x16 , 0x122 , " mulg/uc " ) ,
FLOAT_FORMAT ( 0x16 , 0x4a2 , " mulg/s " ) ,
FLOAT_FORMAT ( 0x16 , 0x422 , " mulg/sc " ) ,
FLOAT_FORMAT ( 0x16 , 0x5a2 , " mulg/su " ) ,
FLOAT_FORMAT ( 0x16 , 0x522 , " mulg/suc " ) ,
FLOAT_FORMAT ( 0x16 , 0x081 , " subf " ) ,
FLOAT_FORMAT ( 0x16 , 0x001 , " subf/c " ) ,
FLOAT_FORMAT ( 0x16 , 0x181 , " subf/u " ) ,
FLOAT_FORMAT ( 0x16 , 0x101 , " subf/uc " ) ,
FLOAT_FORMAT ( 0x16 , 0x481 , " subf/s " ) ,
FLOAT_FORMAT ( 0x16 , 0x401 , " subf/sc " ) ,
FLOAT_FORMAT ( 0x16 , 0x581 , " subf/su " ) ,
FLOAT_FORMAT ( 0x16 , 0x501 , " subf/suc " ) ,
FLOAT_FORMAT ( 0x16 , 0x0a1 , " subg " ) ,
FLOAT_FORMAT ( 0x16 , 0x021 , " subg/c " ) ,
FLOAT_FORMAT ( 0x16 , 0x1a1 , " subg/u " ) ,
FLOAT_FORMAT ( 0x16 , 0x121 , " subg/uc " ) ,
FLOAT_FORMAT ( 0x16 , 0x4a1 , " subg/s " ) ,
FLOAT_FORMAT ( 0x16 , 0x421 , " subg/sc " ) ,
FLOAT_FORMAT ( 0x16 , 0x5a1 , " subg/su " ) ,
FLOAT_FORMAT ( 0x16 , 0x521 , " subg/suc " ) ,
FLOAT_FORMAT ( 0x16 , 0x0af , " cvtgq " ) ,
FLOAT_FORMAT ( 0x16 , 0x02f , " cvtgq/c " ) ,
FLOAT_FORMAT ( 0x16 , 0x1af , " cvtgq/v " ) ,
FLOAT_FORMAT ( 0x16 , 0x12f , " cvtgq/vc " ) ,
FLOAT_FORMAT ( 0x16 , 0x4af , " cvtgq/s " ) ,
FLOAT_FORMAT ( 0x16 , 0x42f , " cvtgq/sc " ) ,
FLOAT_FORMAT ( 0x16 , 0x5af , " cvtgq/sv " ) ,
FLOAT_FORMAT ( 0x16 , 0x52f , " cvtgq/svc " ) ,
FLOAT_FORMAT ( 0x15 , 0x080 , " addf " ) ,
FLOAT_FORMAT ( 0x15 , 0x000 , " addf/c " ) ,
FLOAT_FORMAT ( 0x15 , 0x180 , " addf/u " ) ,
FLOAT_FORMAT ( 0x15 , 0x100 , " addf/uc " ) ,
FLOAT_FORMAT ( 0x15 , 0x480 , " addf/s " ) ,
FLOAT_FORMAT ( 0x15 , 0x400 , " addf/sc " ) ,
FLOAT_FORMAT ( 0x15 , 0x580 , " addf/su " ) ,
FLOAT_FORMAT ( 0x15 , 0x500 , " addf/suc " ) ,
FLOAT_FORMAT ( 0x15 , 0x09e , " cvtdg " ) ,
FLOAT_FORMAT ( 0x15 , 0x01e , " cvtdg/c " ) ,
FLOAT_FORMAT ( 0x15 , 0x19e , " cvtdg/u " ) ,
FLOAT_FORMAT ( 0x15 , 0x11e , " cvtdg/uc " ) ,
FLOAT_FORMAT ( 0x15 , 0x49e , " cvtdg/s " ) ,
FLOAT_FORMAT ( 0x15 , 0x41e , " cvtdg/sc " ) ,
FLOAT_FORMAT ( 0x15 , 0x59e , " cvtdg/su " ) ,
FLOAT_FORMAT ( 0x15 , 0x51e , " cvtdg/suc " ) ,
FLOAT_FORMAT ( 0x15 , 0x0a0 , " addg " ) ,
FLOAT_FORMAT ( 0x15 , 0x020 , " addg/c " ) ,
FLOAT_FORMAT ( 0x15 , 0x1a0 , " addg/u " ) ,
FLOAT_FORMAT ( 0x15 , 0x120 , " addg/uc " ) ,
FLOAT_FORMAT ( 0x15 , 0x4a0 , " addg/s " ) ,
FLOAT_FORMAT ( 0x15 , 0x420 , " addg/sc " ) ,
FLOAT_FORMAT ( 0x15 , 0x5a0 , " addg/su " ) ,
FLOAT_FORMAT ( 0x15 , 0x520 , " addg/suc " ) ,
FLOAT_FORMAT ( 0x15 , 0x0a5 , " cmpgeq " ) ,
FLOAT_FORMAT ( 0x15 , 0x4a5 , " cmpgeq/s " ) ,
FLOAT_FORMAT ( 0x15 , 0x0a6 , " cmpglt " ) ,
FLOAT_FORMAT ( 0x15 , 0x4a6 , " cmpglt/s " ) ,
FLOAT_FORMAT ( 0x15 , 0x0a7 , " cmpgle " ) ,
FLOAT_FORMAT ( 0x15 , 0x4a7 , " cmpgle/s " ) ,
FLOAT_FORMAT ( 0x15 , 0x0ac , " cvtgf " ) ,
FLOAT_FORMAT ( 0x15 , 0x02c , " cvtgf/c " ) ,
FLOAT_FORMAT ( 0x15 , 0x1ac , " cvtgf/u " ) ,
FLOAT_FORMAT ( 0x15 , 0x12c , " cvtgf/uc " ) ,
FLOAT_FORMAT ( 0x15 , 0x4ac , " cvtgf/s " ) ,
FLOAT_FORMAT ( 0x15 , 0x42c , " cvtgf/sc " ) ,
FLOAT_FORMAT ( 0x15 , 0x5ac , " cvtgf/su " ) ,
FLOAT_FORMAT ( 0x15 , 0x52c , " cvtgf/suc " ) ,
FLOAT_FORMAT ( 0x15 , 0x0ad , " cvtgd " ) ,
FLOAT_FORMAT ( 0x15 , 0x02d , " cvtgd/c " ) ,
FLOAT_FORMAT ( 0x15 , 0x1ad , " cvtgd/u " ) ,
FLOAT_FORMAT ( 0x15 , 0x12d , " cvtgd/uc " ) ,
FLOAT_FORMAT ( 0x15 , 0x4ad , " cvtgd/s " ) ,
FLOAT_FORMAT ( 0x15 , 0x42d , " cvtgd/sc " ) ,
FLOAT_FORMAT ( 0x15 , 0x5ad , " cvtgd/su " ) ,
FLOAT_FORMAT ( 0x15 , 0x52d , " cvtgd/suc " ) ,
FLOAT_FORMAT ( 0x15 , 0x0bc , " cvtqf " ) ,
FLOAT_FORMAT ( 0x15 , 0x03c , " cvtqf/c " ) ,
FLOAT_FORMAT ( 0x15 , 0x0be , " cvtqg " ) ,
FLOAT_FORMAT ( 0x15 , 0x03e , " cvtqg/c " ) ,
FLOAT_FORMAT ( 0x15 , 0x083 , " divf " ) ,
FLOAT_FORMAT ( 0x15 , 0x003 , " divf/c " ) ,
FLOAT_FORMAT ( 0x15 , 0x183 , " divf/u " ) ,
FLOAT_FORMAT ( 0x15 , 0x103 , " divf/uc " ) ,
FLOAT_FORMAT ( 0x15 , 0x483 , " divf/s " ) ,
FLOAT_FORMAT ( 0x15 , 0x403 , " divf/sc " ) ,
FLOAT_FORMAT ( 0x15 , 0x583 , " divf/su " ) ,
FLOAT_FORMAT ( 0x15 , 0x503 , " divf/suc " ) ,
FLOAT_FORMAT ( 0x15 , 0x0a3 , " divg " ) ,
FLOAT_FORMAT ( 0x15 , 0x023 , " divg/c " ) ,
FLOAT_FORMAT ( 0x15 , 0x1a3 , " divg/u " ) ,
FLOAT_FORMAT ( 0x15 , 0x123 , " divg/uc " ) ,
FLOAT_FORMAT ( 0x15 , 0x4a3 , " divg/s " ) ,
FLOAT_FORMAT ( 0x15 , 0x423 , " divg/sc " ) ,
FLOAT_FORMAT ( 0x15 , 0x5a3 , " divg/su " ) ,
FLOAT_FORMAT ( 0x15 , 0x523 , " divg/suc " ) ,
FLOAT_FORMAT ( 0x15 , 0x082 , " mulf " ) ,
FLOAT_FORMAT ( 0x15 , 0x002 , " mulf/c " ) ,
FLOAT_FORMAT ( 0x15 , 0x182 , " mulf/u " ) ,
FLOAT_FORMAT ( 0x15 , 0x102 , " mulf/uc " ) ,
FLOAT_FORMAT ( 0x15 , 0x482 , " mulf/s " ) ,
FLOAT_FORMAT ( 0x15 , 0x402 , " mulf/sc " ) ,
FLOAT_FORMAT ( 0x15 , 0x582 , " mulf/su " ) ,
FLOAT_FORMAT ( 0x15 , 0x502 , " mulf/suc " ) ,
FLOAT_FORMAT ( 0x15 , 0x0a2 , " mulg " ) ,
FLOAT_FORMAT ( 0x15 , 0x022 , " mulg/c " ) ,
FLOAT_FORMAT ( 0x15 , 0x1a2 , " mulg/u " ) ,
FLOAT_FORMAT ( 0x15 , 0x122 , " mulg/uc " ) ,
FLOAT_FORMAT ( 0x15 , 0x4a2 , " mulg/s " ) ,
FLOAT_FORMAT ( 0x15 , 0x422 , " mulg/sc " ) ,
FLOAT_FORMAT ( 0x15 , 0x5a2 , " mulg/su " ) ,
FLOAT_FORMAT ( 0x15 , 0x522 , " mulg/suc " ) ,
FLOAT_FORMAT ( 0x15 , 0x081 , " subf " ) ,
FLOAT_FORMAT ( 0x15 , 0x001 , " subf/c " ) ,
FLOAT_FORMAT ( 0x15 , 0x181 , " subf/u " ) ,
FLOAT_FORMAT ( 0x15 , 0x101 , " subf/uc " ) ,
FLOAT_FORMAT ( 0x15 , 0x481 , " subf/s " ) ,
FLOAT_FORMAT ( 0x15 , 0x401 , " subf/sc " ) ,
FLOAT_FORMAT ( 0x15 , 0x581 , " subf/su " ) ,
FLOAT_FORMAT ( 0x15 , 0x501 , " subf/suc " ) ,
FLOAT_FORMAT ( 0x15 , 0x0a1 , " subg " ) ,
FLOAT_FORMAT ( 0x15 , 0x021 , " subg/c " ) ,
FLOAT_FORMAT ( 0x15 , 0x1a1 , " subg/u " ) ,
FLOAT_FORMAT ( 0x15 , 0x121 , " subg/uc " ) ,
FLOAT_FORMAT ( 0x15 , 0x4a1 , " subg/s " ) ,
FLOAT_FORMAT ( 0x15 , 0x421 , " subg/sc " ) ,
FLOAT_FORMAT ( 0x15 , 0x5a1 , " subg/su " ) ,
FLOAT_FORMAT ( 0x15 , 0x521 , " subg/suc " ) ,
FLOAT_FORMAT ( 0x15 , 0x0af , " cvtgq " ) ,
FLOAT_FORMAT ( 0x15 , 0x02f , " cvtgq/c " ) ,
FLOAT_FORMAT ( 0x15 , 0x1af , " cvtgq/v " ) ,
FLOAT_FORMAT ( 0x15 , 0x12f , " cvtgq/vc " ) ,
FLOAT_FORMAT ( 0x15 , 0x4af , " cvtgq/s " ) ,
FLOAT_FORMAT ( 0x15 , 0x42f , " cvtgq/sc " ) ,
FLOAT_FORMAT ( 0x15 , 0x5af , " cvtgq/sv " ) ,
FLOAT_FORMAT ( 0x15 , 0x52f , " cvtgq/svc " ) ,
# if (VMS_ASMCODE)
/* unprivileged codes */