* hppa.h: Add gfw and gfr to the opcode table.
This commit is contained in:
parent
a834c083ac
commit
efa77160ad
@ -67,7 +67,7 @@ struct pa_opcode
|
||||
|
||||
' "#$% *+- ./ 3 :; = @'
|
||||
' B L N [\] _'
|
||||
' e gh lm qr yz{|} '
|
||||
' e gh lm qr { } '
|
||||
|
||||
Here are all the characters:
|
||||
|
||||
@ -76,9 +76,10 @@ struct pa_opcode
|
||||
'abcdefghijklmnopqrstuvwxyz{|}~'
|
||||
|
||||
Kinds of operands:
|
||||
x register field at 15.
|
||||
b register field at 10.
|
||||
t register field at 31.
|
||||
x integer register field at 15.
|
||||
b integer register field at 10.
|
||||
t integer register field at 31.
|
||||
y floating point register field at 31
|
||||
5 5 bit immediate at 15.
|
||||
s 2 bit space specifier at 17.
|
||||
S 3 bit space specifier at 18.
|
||||
@ -98,7 +99,8 @@ Kinds of operands:
|
||||
k 21 bit immediate value at 31
|
||||
n nullification for branch instructions
|
||||
w 12 bit branch displacement
|
||||
W 17 bit branch displacement
|
||||
W 17 bit branch displacement (PC relative)
|
||||
z 17 bit branch displacement (just a number, not an address)
|
||||
|
||||
Also these:
|
||||
|
||||
@ -140,6 +142,7 @@ Also these:
|
||||
Q 5 bit immediate value at 10 (a bit position specified in
|
||||
the bb instruction. It's the same as r above, except the
|
||||
value is in a different location)
|
||||
| shift/extract/deposit conditions when used in a conditional branch
|
||||
|
||||
And these (PJH) for PA-89 F.P. registers and instructions:
|
||||
|
||||
@ -235,10 +238,10 @@ static const struct pa_opcode pa_opcodes[] =
|
||||
{ "blr", 0xe8004000, 0xfc00e001, "nx,b", NORMAL},
|
||||
{ "bv", 0xe800c000, 0xfc00e001, "nx(b)", NORMAL},
|
||||
{ "bv", 0xe800c000, 0xfc00e001, "n(b)", NORMAL},
|
||||
{ "be", 0xe0000000, 0xfc000000, "nW(S,b)", NORMAL},
|
||||
{ "ble", 0xe4000000, 0xfc000000, "nW(S,b)", NORMAL},
|
||||
{ "movb", 0xc8000000, 0xfc000000, ">nx,b,w", CONDITIONAL},
|
||||
{ "movib", 0xcc000000, 0xfc000000, ">n5,b,w", CONDITIONAL},
|
||||
{ "be", 0xe0000000, 0xfc000000, "nz(S,b)", NORMAL},
|
||||
{ "ble", 0xe4000000, 0xfc000000, "nz(S,b)", NORMAL},
|
||||
{ "movb", 0xc8000000, 0xfc000000, "|nx,b,w", CONDITIONAL},
|
||||
{ "movib", 0xcc000000, 0xfc000000, "|n5,b,w", CONDITIONAL},
|
||||
{ "combt", 0x80000000, 0xfc000000, "<nx,b,w", CONDITIONAL},
|
||||
{ "combf", 0x88000000, 0xfc000000, "<nx,b,w", CONDITIONAL},
|
||||
{ "comibt", 0x84000000, 0xfc000000, "<n5,b,w", CONDITIONAL},
|
||||
@ -362,25 +365,29 @@ static const struct pa_opcode pa_opcodes[] =
|
||||
{ "fice", 0x040002c0, 0xfc003fdf, "Zx(s,b)"},
|
||||
{ "fice", 0x040002c0, 0xfc003fdf, "Zx(b)"},
|
||||
{ "diag", 0x14000000, 0xfc000000, "D"},
|
||||
{ "gfw", 0x04001680, 0xfc003fdf, "Zx(s,b)"},
|
||||
{ "gfw", 0x04001680, 0xfc003fdf, "Zx(b)"},
|
||||
{ "gfr", 0x04001a80, 0xfc003fdf, "Zx(s,b)"},
|
||||
{ "gfr", 0x04001a80, 0xfc003fdf, "Zx(b)"},
|
||||
|
||||
/* Floating Point Coprocessor Instructions */
|
||||
|
||||
{ "fldwx", 0x24000000, 0xfc001f80, "cx(s,b),v"},
|
||||
{ "fldwx", 0x24000000, 0xfc001f80, "cx(b),v"},
|
||||
{ "flddx", 0x2c000000, 0xfc001fc0, "cx(s,b),t"},
|
||||
{ "flddx", 0x2c000000, 0xfc001fc0, "cx(b),t"},
|
||||
{ "flddx", 0x2c000000, 0xfc001fc0, "cx(s,b),y"},
|
||||
{ "flddx", 0x2c000000, 0xfc001fc0, "cx(b),y"},
|
||||
{ "fstwx", 0x24000200, 0xfc001fc0, "cv,x(s,b)"},
|
||||
{ "fstwx", 0x24000200, 0xfc001fc0, "cv,x(b)"},
|
||||
{ "fstdx", 0x2c000200, 0xfc001fc0, "ct,x(s,b)"},
|
||||
{ "fstdx", 0x2c000200, 0xfc001fc0, "ct,x(b)"},
|
||||
{ "fstdx", 0x2c000200, 0xfc001fc0, "cy,x(s,b)"},
|
||||
{ "fstdx", 0x2c000200, 0xfc001fc0, "cy,x(b)"},
|
||||
{ "fldws", 0x24001000, 0xfc001f80, "C5(s,b),v"},
|
||||
{ "fldws", 0x24001000, 0xfc001f80, "C5(b),v"},
|
||||
{ "fldds", 0x2c001000, 0xfc001fc0, "C5(s,b),t"},
|
||||
{ "fldds", 0x2c001000, 0xfc001fc0, "C5(b),t"},
|
||||
{ "fldds", 0x2c001000, 0xfc001fc0, "C5(s,b),y"},
|
||||
{ "fldds", 0x2c001000, 0xfc001fc0, "C5(b),y"},
|
||||
{ "fstws", 0x24001200, 0xfc001f80, "Cv,5(s,b)"},
|
||||
{ "fstws", 0x24001200, 0xfc001f80, "Ct,5(b)"},
|
||||
{ "fstds", 0x2c001200, 0xfc001fc0, "Ct,5(s,b)"},
|
||||
{ "fstds", 0x2c001200, 0xfc001fc0, "Ct,5(b)"},
|
||||
{ "fstws", 0x24001200, 0xfc001f80, "Cy,5(b)"},
|
||||
{ "fstds", 0x2c001200, 0xfc001fc0, "Cy,5(s,b)"},
|
||||
{ "fstds", 0x2c001200, 0xfc001fc0, "Cy,5(b)"},
|
||||
{ "fadd", 0x30000600, 0xfc00e7e0, "FE,X,v"},
|
||||
{ "fadd", 0x38000600, 0xfc00e720, "IJ,K,v"},
|
||||
{ "fsub", 0x30002600, 0xfc00e7e0, "FE,X,v"},
|
||||
|
Loading…
Reference in New Issue
Block a user