Lines Matching refs:ins
50 static struct hash_entry *lookup_hash (SIM_DESC, SIM_CPU *, uint64_t ins, int size);
82 lookup_hash (SIM_DESC sd, SIM_CPU *cpu, uint64_t ins, int size)
87 h = &hash_table[hash(ins,1)];
97 while ((ins & mask) != (BIN(h->opcode, h->mask)))
113 get_operands (operand_desc *s, uint64_t ins, int isize, int nops)
118 if (isize == 1) /* Trunkcate the extra 16 bits of INS. */
119 ins = ins >> 16;
134 OP[i] = ((ins >> 4) & ((1 << op_size) -1));
136 OP[i] = ((ins >> (32 - start_bit)) & ((1 << op_size) -1));
151 OP[i] = ((ins >> 4) & ((1 << op_size) -1)); break;
153 OP[i] = ((ins >> (32 - start_bit)) & ((1 << op_size) -1));break;
155 OP[i] = ((ins >> (16 + start_bit)) & ((1 << op_size) -1)); break;
165 OP[i] = ((ins >> 4) & ((1 << op_size) -1));
167 OP[i] = (ins & ((1 << op_size) -1));
170 OP[i] = ((ins >> start_bit) & ((1 << op_size) -1));
173 OP[i] = ((ins >> (start_bit + 16)) & ((1 << op_size) -1));
176 OP[i] = ((ins >> start_bit) & ((1 << op_size) -1));
182 OP[i] = ins & 0xFFFF;
186 OP[i] = ins & (((long)1 << op_size) - 1);
190 OP[i] = ins & 0xFFFFFFFF;
194 OP[i] = ins & ((1 << op_size) - 1); break;
197 OP[i] = (ins >> 4) & ((1 << 4) - 1);
208 OP[i] = ((((ins >> 8) & 0xf) << 4) | (ins & 0xf));
219 OP[i] = (ins & 0xFFFF);
231 OP[i] = (ins & 0xFFFFFF);
233 OP[i] = (ins & 0xFFFF) | (((ins >> 24) & 0xf) << 16) |
234 (((ins >> 16) & 0xf) << 20);
247 OP[i] = (ins) & 0xFFFFF;
249 OP[i] = (ins >> start_bit) & 0xFFFFF;
253 OP[i] = ((ins & 0xFFFF) | (((ins >> 16) & 0xf) << 20)
254 | (((ins >> 24) & 0xf) << 16));
256 OP[i] = (ins >> 16) & 0xFFFFFF;
263 OP[i] = ((((ins >> 24)&0xf) << 16)|((ins) & 0xFFFF));
264 OP[++i] = (ins >> 16) & 0xF; /* get 4 bit for reg. */
268 OP[++i] = (ins) & 0xF; /* get 4 bit for reg. */
271 OP[i] = ((ins >> 8) & 0xF) * 2; /* 4 bit disp const. */
272 OP[++i] = (ins) & 0xF; /* get 4 bit for reg. */
275 OP[i] = ((ins >> 8) & 0xF); /* 4 bit disp const. */
276 OP[++i] = (ins) & 0xF; /* get 4 bit for reg. */
279 OP[i] = (ins) & 0xFFFF;
280 OP[++i] = (ins >> 16) & 0xF; /* get 4 bit for reg. */
284 OP[++i] = (ins >> 4) & 0xF; /* get 4 bit for reg. */
285 OP[++i] = (ins >> 8) & 0x1; /* get 1 bit for index-reg. */
288 OP[i] = (ins) & 0x3FFF;
289 OP[++i] = (ins >> 14) & 0x1; /* get 1 bit for index-reg. */
290 OP[++i] = (ins >> 16) & 0xF; /* get 4 bit for reg. */
294 OP[i] = (ins) & 0xFFFFF;
295 OP[++i] = (ins >> 24) & 0x1; /* get 1 bit for index-reg. */
296 OP[++i] = (ins >> 20) & 0xF; /* get 4 bit for reg. */
302 if (start_bit == 20) OP[i] = (ins >> 4) & 0xF;
303 else if (start_bit == 16) OP[i] = ins & 0xF;
305 case 2: OP[i] = (ins >> start_bit) & 0xF; break;
306 case 3: OP[i] = (ins >> (start_bit + 16)) & 0xF; break;
311 if (isize == 1) OP[i] = (ins >> 4) & 0xF;
312 else if (isize == 2) OP[i] = (ins >> start_bit) & 0xF;
313 else OP[i] = (ins >> (start_bit + 16)) & 0xF;
592 sim_io_printf (sd, "INS: PC=0x%X, mcode=0x%X\n", PC, mcode);