better formats for load* and store[bp]*

This commit is contained in:
Bill Currie 2003-09-04 05:30:55 +00:00
parent 3305c0f51f
commit 30e0cba25d

View file

@ -187,112 +187,139 @@ opcode_t pr_opcodes[] = {
{".", "load.f", OP_LOAD_F, false,
ev_entity, ev_field, ev_float,
PROG_ID_VERSION,
"%Ga.%Gb, %gc",
},
{".", "load.v", OP_LOAD_V, false,
ev_entity, ev_field, ev_vector,
PROG_ID_VERSION,
"%Ga.%Gb, %gc",
},
{".", "load.s", OP_LOAD_S, false,
ev_entity, ev_field, ev_string,
PROG_ID_VERSION,
"%Ga.%Gb, %gc",
},
{".", "load.ent", OP_LOAD_ENT, false,
ev_entity, ev_field, ev_entity,
PROG_ID_VERSION,
"%Ga.%Gb, %gc",
},
{".", "load.fld", OP_LOAD_FLD, false,
ev_entity, ev_field, ev_field,
PROG_ID_VERSION,
"%Ga.%Gb, %gc",
},
{".", "load.fnc", OP_LOAD_FNC, false,
ev_entity, ev_field, ev_func,
PROG_ID_VERSION,
"%Ga.%Gb, %gc",
},
{".", "load.i", OP_LOAD_I, false,
ev_entity, ev_field, ev_integer,
PROG_VERSION,
"%Ga.%Gb, %gc",
},
{".", "load.u", OP_LOAD_U, false,
ev_entity, ev_field, ev_uinteger,
PROG_VERSION,
"%Ga.%Gb, %gc",
},
{".", "load.p", OP_LOAD_P, false,
ev_entity, ev_field, ev_pointer,
PROG_VERSION,
"%Ga.%Gb, %gc",
},
{".", "loadb.f", OP_LOADB_F, false,
ev_pointer, ev_integer, ev_float,
PROG_VERSION,
"*(%Ga + %Gb), %gc",
},
{".", "loadb.v", OP_LOADB_V, false,
ev_pointer, ev_integer, ev_vector,
PROG_VERSION,
"*(%Ga + %Gb), %gc",
},
{".", "loadb.s", OP_LOADB_S, false,
ev_pointer, ev_integer, ev_string,
PROG_VERSION,
"*(%Ga + %Gb), %gc",
},
{".", "loadb.ent", OP_LOADB_ENT, false,
ev_pointer, ev_integer, ev_entity,
PROG_VERSION,
"*(%Ga + %Gb), %gc",
},
{".", "loadb.fld", OP_LOADB_FLD, false,
ev_pointer, ev_integer, ev_field,
PROG_VERSION,
"*(%Ga + %Gb), %gc",
},
{".", "loadb.fnc", OP_LOADB_FNC, false,
ev_pointer, ev_integer, ev_func,
PROG_VERSION,
"*(%Ga + %Gb), %gc",
},
{".", "loadb.i", OP_LOADB_I, false,
ev_pointer, ev_integer, ev_integer,
PROG_VERSION,
"*(%Ga + %Gb), %gc",
},
{".", "loadb.u", OP_LOADB_U, false,
ev_pointer, ev_integer, ev_uinteger,
PROG_VERSION,
"*(%Ga + %Gb), %gc",
},
{".", "loadb.p", OP_LOADB_P, false,
ev_pointer, ev_integer, ev_pointer,
PROG_VERSION,
"*(%Ga + %Gb), %gc",
},
{".", "loadbi.f", OP_LOADBI_F, false,
ev_pointer, ev_short, ev_float,
PROG_VERSION,
"*(%Ga + %sb), %gc",
},
{".", "loadbi.v", OP_LOADBI_V, false,
ev_pointer, ev_short, ev_vector,
PROG_VERSION,
"*(%Ga + %sb), %gc",
},
{".", "loadbi.s", OP_LOADBI_S, false,
ev_pointer, ev_short, ev_string,
PROG_VERSION,
"*(%Ga + %sb), %gc",
},
{".", "loadbi.ent", OP_LOADBI_ENT, false,
ev_pointer, ev_short, ev_entity,
PROG_VERSION,
"*(%Ga + %sb), %gc",
},
{".", "loadbi.fld", OP_LOADBI_FLD, false,
ev_pointer, ev_short, ev_field,
PROG_VERSION,
"*(%Ga + %sb), %gc",
},
{".", "loadbi.fnc", OP_LOADBI_FNC, false,
ev_pointer, ev_short, ev_func,
PROG_VERSION,
"*(%Ga + %sb), %gc",
},
{".", "loadbi.i", OP_LOADBI_I, false,
ev_pointer, ev_short, ev_integer,
PROG_VERSION,
"*(%Ga + %sb), %gc",
},
{".", "loadbi.u", OP_LOADBI_U, false,
ev_pointer, ev_short, ev_uinteger,
PROG_VERSION,
"*(%Ga + %sb), %gc",
},
{".", "loadbi.p", OP_LOADBI_P, false,
ev_pointer, ev_short, ev_pointer,
PROG_VERSION,
"*(%Ga + %sb), %gc",
},
{"&", "address", OP_ADDRESS, false,
@ -428,139 +455,139 @@ opcode_t pr_opcodes[] = {
{".=", "storep.f", OP_STOREP_F, true,
ev_float, ev_pointer, ev_void,
PROG_ID_VERSION,
"%Ga, %Gb, %gc",
"%Ga, *%Gb",
},
{".=", "storep.v", OP_STOREP_V, true,
ev_vector, ev_pointer, ev_void,
PROG_ID_VERSION,
"%Ga, %Gb, %gc",
"%Ga, *%Gb",
},
{".=", "storep.s", OP_STOREP_S, true,
ev_string, ev_pointer, ev_void,
PROG_ID_VERSION,
"%Ga, %Gb, %gc",
"%Ga, *%Gb",
},
{".=", "storep.ent", OP_STOREP_ENT, true,
ev_entity, ev_pointer, ev_void,
PROG_ID_VERSION,
"%Ga, %Gb, %gc",
"%Ga, *%Gb",
},
{".=", "storep.fld", OP_STOREP_FLD, true,
ev_field, ev_pointer, ev_void,
PROG_ID_VERSION,
"%Ga, %Gb, %gc",
"%Ga, *%Gb",
},
{".=", "storep.fnc", OP_STOREP_FNC, true,
ev_func, ev_pointer, ev_void,
PROG_ID_VERSION,
"%Ga, %Gb, %gc",
"%Ga, *%Gb",
},
{".=", "storep.i", OP_STOREP_I, true,
ev_integer, ev_pointer, ev_void,
PROG_VERSION,
"%Ga, %Gb, %gc",
"%Ga, *%Gb",
},
{".=", "storep.u", OP_STOREP_U, true,
ev_uinteger, ev_pointer, ev_void,
PROG_VERSION,
"%Ga, %Gb, %gc",
"%Ga, *%Gb",
},
{".=", "storep.p", OP_STOREP_P, true,
ev_pointer, ev_pointer, ev_void,
PROG_VERSION,
"%Ga, %Gb, %gc",
"%Ga, *%Gb",
},
{".=", "storeb.f", OP_STOREB_F, true,
ev_float, ev_pointer, ev_integer,
PROG_VERSION,
"%Ga, %Gb, %Gc",
"%Ga, *(%Gb + %Gc)",
},
{".=", "storeb.v", OP_STOREB_V, true,
ev_vector, ev_pointer, ev_integer,
PROG_VERSION,
"%Ga, %Gb, %Gc",
"%Ga, *(%Gb + %Gc)",
},
{".=", "storeb.s", OP_STOREB_S, true,
ev_string, ev_pointer, ev_integer,
PROG_VERSION,
"%Ga, %Gb, %Gc",
"%Ga, *(%Gb + %Gc)",
},
{".=", "storeb.ent", OP_STOREB_ENT, true,
ev_entity, ev_pointer, ev_integer,
PROG_VERSION,
"%Ga, %Gb, %Gc",
"%Ga, *(%Gb + %Gc)",
},
{".=", "storeb.fld", OP_STOREB_FLD, true,
ev_field, ev_pointer, ev_integer,
PROG_VERSION,
"%Ga, %Gb, %Gc",
"%Ga, *(%Gb + %Gc)",
},
{".=", "storeb.fnc", OP_STOREB_FNC, true,
ev_func, ev_pointer, ev_integer,
PROG_VERSION,
"%Ga, %Gb, %Gc",
"%Ga, *(%Gb + %Gc)",
},
{".=", "storeb.i", OP_STOREB_I, true,
ev_integer, ev_pointer, ev_integer,
PROG_VERSION,
"%Ga, %Gb, %Gc",
"%Ga, *(%Gb + %Gc)",
},
{".=", "storeb.u", OP_STOREB_U, true,
ev_uinteger, ev_pointer, ev_integer,
PROG_VERSION,
"%Ga, %Gb, %Gc",
"%Ga, *(%Gb + %Gc)",
},
{".=", "storeb.p", OP_STOREB_P, true,
ev_pointer, ev_pointer, ev_integer,
PROG_VERSION,
"%Ga, %Gb, %Gc",
"%Ga, *(%Gb + %Gc)",
},
{".=", "storebi.f", OP_STOREBI_F, true,
ev_float, ev_pointer, ev_short,
PROG_VERSION,
"%Ga, %Gb, %sc",
"%Ga, *(%Gb + %sc)",
},
{".=", "storebi.v", OP_STOREBI_V, true,
ev_vector, ev_pointer, ev_short,
PROG_VERSION,
"%Ga, %Gb, %sc",
"%Ga, *(%Gb + %sc)",
},
{".=", "storebi.s", OP_STOREBI_S, true,
ev_string, ev_pointer, ev_short,
PROG_VERSION,
"%Ga, %Gb, %sc",
"%Ga, *(%Gb + %sc)",
},
{".=", "storebi.ent", OP_STOREBI_ENT, true,
ev_entity, ev_pointer, ev_short,
PROG_VERSION,
"%Ga, %Gb, %sc",
"%Ga, *(%Gb + %sc)",
},
{".=", "storebi.fld", OP_STOREBI_FLD, true,
ev_field, ev_pointer, ev_short,
PROG_VERSION,
"%Ga, %Gb, %sc",
"%Ga, *(%Gb + %sc)",
},
{".=", "storebi.fnc", OP_STOREBI_FNC, true,
ev_func, ev_pointer, ev_short,
PROG_VERSION,
"%Ga, %Gb, %sc",
"%Ga, *(%Gb + %sc)",
},
{".=", "storebi.i", OP_STOREBI_I, true,
ev_integer, ev_pointer, ev_short,
PROG_VERSION,
"%Ga, %Gb, %sc",
"%Ga, *(%Gb + %sc)",
},
{".=", "storebi.u", OP_STOREBI_U, true,
ev_uinteger, ev_pointer, ev_short,
PROG_VERSION,
"%Ga, %Gb, %sc",
"%Ga, *(%Gb + %sc)",
},
{".=", "storebi.p", OP_STOREBI_P, true,
ev_pointer, ev_pointer, ev_short,
PROG_VERSION,
"%Ga, %Gb, %sc",
"%Ga, *(%Gb + %sc)",
},
{"<RETURN>", "return", OP_RETURN, false,