Home | History | Annotate | Download | only in opcodes

Lines Matching refs:buf

59 fetch_data (struct buffer *buf, disassemble_info * info, int n)
63 if (buf->n_fetch + n > 4)
66 r = info->read_memory_func (buf->base + buf->n_fetch,
67 (unsigned char*) buf->data + buf->n_fetch,
70 buf->n_fetch += n;
75 prt (struct buffer *buf, disassemble_info * info, char *txt)
78 buf->n_used = buf->n_fetch;
83 prt_e (struct buffer *buf, disassemble_info * info, char *txt)
88 if (fetch_data (buf, info, 1))
90 e = buf->data[1];
91 target_addr = (buf->base + 2 + e) & 0xffff;
92 buf->n_used = buf->n_fetch;
96 buf->n_used = -1;
98 return buf->n_used;
102 jr_cc (struct buffer *buf, disassemble_info * info, char *txt)
106 snprintf (mytxt, TXTSIZ, txt, cc_str[(buf->data[0] >> 3) & 3]);
107 return prt_e (buf, info, mytxt);
111 prt_nn (struct buffer *buf, disassemble_info * info, char *txt)
116 p = (unsigned char*) buf->data + buf->n_fetch;
117 if (fetch_data (buf, info, 2))
121 buf->n_used = buf->n_fetch;
124 buf->n_used = -1;
125 return buf->n_used;
129 prt_rr_nn (struct buffer *buf, disassemble_info * info, char *txt)
134 rr = (buf->data[buf->n_fetch - 1] >> 4) & 3;
136 return prt_nn (buf, info, mytxt);
140 prt_rr (struct buffer *buf, disassemble_info * info, char *txt)
143 rr_str[(buf->data[buf->n_fetch - 1] >> 4) & 3]);
144 buf->n_used = buf->n_fetch;
145 return buf->n_used;
149 prt_n (struct buffer *buf, disassemble_info * info, char *txt)
154 p = (unsigned char*) buf->data + buf->n_fetch;
156 if (fetch_data (buf, info, 1))
160 buf->n_used = buf->n_fetch;
163 buf->n_used = -1;
165 return buf->n_used;
169 ld_r_n (struct buffer *buf, disassemble_info * info, char *txt)
173 snprintf (mytxt, TXTSIZ, txt, r_str[(buf->data[0] >> 3) & 7]);
174 return prt_n (buf, info, mytxt);
178 prt_r (struct buffer *buf, disassemble_info * info, char *txt)
181 r_str[(buf->data[buf->n_fetch - 1] >> 3) & 7]);
182 buf->n_used = buf->n_fetch;
183 return buf->n_used;
187 ld_r_r (struct buffer *buf, disassemble_info * info, char *txt)
190 r_str[(buf->data[buf->n_fetch - 1] >> 3) & 7],
191 r_str[buf->data[buf->n_fetch - 1] & 7]);
192 buf->n_used = buf->n_fetch;
193 return buf->n_used;
197 arit_r (struct buffer *buf, disassemble_info * info, char *txt)
200 arit_str[(buf->data[buf->n_fetch - 1] >> 3) & 7],
201 r_str[buf->data[buf->n_fetch - 1] & 7]);
202 buf->n_used = buf->n_fetch;
203 return buf->n_used;
207 prt_cc (struct buffer *buf, disassemble_info * info, char *txt)
210 cc_str[(buf->data[0] >> 3) & 7]);
211 buf->n_used = buf->n_fetch;
212 return buf->n_used;
216 pop_rr (struct buffer *buf, disassemble_info * info, char *txt)
221 rr_stack[(buf->data[0] >> 4) & 3]);
222 buf->n_used = buf->n_fetch;
223 return buf->n_used;
228 jp_cc_nn (struct buffer *buf, disassemble_info * info, char *txt)
233 "%s%s,0x%%04x", txt, cc_str[(buf->data[0] >> 3) & 7]);
234 return prt_nn (buf, info, mytxt);
238 arit_n (struct buffer *buf, disassemble_info * info, char *txt)
242 snprintf (mytxt,TXTSIZ, txt, arit_str[(buf->data[0] >> 3) & 7]);
243 return prt_n (buf, info, mytxt);
247 rst (struct buffer *buf, disassemble_info * info, char *txt)
249 info->fprintf_func (info->stream, txt, buf->data[0] & 0x38);
250 buf->n_used = buf->n_fetch;
251 return buf->n_used;
257 cis (struct buffer *buf, disassemble_info * info, char *txt ATTRIBUTE_UNUSED)
263 c = buf->data[1];
269 buf->n_used = 2;
270 return buf->n_used;
274 dump (struct buffer *buf, disassemble_info * info, char *txt)
281 (unsigned char) buf->data[i]);
282 buf->n_used = i;
283 return buf->n_used;
320 pref_ed (struct buffer * buf, disassemble_info * info,
325 if (fetch_data(buf, info, 1))
327 for (p = opc_ed; p->val != (buf->data[1] & p->mask); ++p)
329 p->fp (buf, info, p->text);
332 buf->n_used = -1;
334 return buf->n_used;
347 pref_cb (struct buffer * buf, disassemble_info * info,
350 if (fetch_data (buf, info, 1))
352 buf->n_used = 2;
353 if ((buf->data[1] & 0xc0) == 0)
355 cb2_str[(buf->data[1] >> 3) & 7],
356 r_str[buf->data[1] & 7]);
359 cb1_str[(buf->data[1] >> 6) & 3],
360 (buf->data[1] >> 3) & 7,
361 r_str[buf->data[1] & 7]);
364 buf->n_used = -1;
366 return buf->n_used;
371 addvv (struct buffer * buf, disassemble_info * info, char* txt)
375 return buf->n_used = buf->n_fetch;
379 ld_v_v (struct buffer * buf, disassemble_info * info, char* txt)
384 return ld_r_r (buf, info, mytxt);
388 prt_d (struct buffer *buf, disassemble_info * info, char *txt)
393 p = buf->data + buf->n_fetch;
395 if (fetch_data (buf, info, 1))
399 buf->n_used = buf->n_fetch;
402 buf->n_used = -1;
404 return buf->n_used;
408 prt_d_n (struct buffer *buf, disassemble_info * info, char *txt)
414 p = buf->data + buf->n_fetch;
416 if (fetch_data (buf, info, 1))
420 return prt_n (buf, info, mytxt);
423 buf->n_used = -1;
425 return buf->n_used;
429 arit_d (struct buffer *buf, disassemble_info * info, char *txt)
434 c = buf->data[buf->n_fetch - 1];
436 return prt_d (buf, info, mytxt);
440 ld_r_d (struct buffer *buf, disassemble_info * info, char *txt)
445 c = buf->data[buf->n_fetch - 1];
447 return prt_d (buf, info, mytxt);
451 ld_d_r(struct buffer *buf, disassemble_info * info, char *txt)
456 c = buf->data[buf->n_fetch - 1];
458 return prt_d (buf, info, mytxt);
462 pref_xd_cb (struct buffer * buf, disassemble_info * info, char* txt)
464 if (fetch_data (buf, info, 2))
470 buf->n_used = 4;
471 p = buf->data;
481 cb2_str[(buf->data[3] >> 3) & 7],
485 cb1_str[(buf->data[3] >> 6) & 3],
486 (buf->data[3] >> 3) & 7,
490 buf->n_used = -1;
492 return buf->n_used;
533 pref_ind (struct buffer * buf, disassemble_info * info, char* txt)
535 if (fetch_data (buf, info, 1))
540 for (p = opc_ind; p->val != (buf->data[1] & p->mask); ++p)
543 p->fp (buf, info, mytxt);
546 buf->n_used = -1;
548 return buf->n_used;
617 struct buffer buf;
620 buf.base = addr;
621 buf.n_fetch = 0;
622 buf.n_used = 0;
624 if (! fetch_data (& buf, info, 1))
627 for (p = opc_main; p->val != (buf.data[0] & p->mask); ++p)
629 p->fp (& buf, info, p->text);
631 return buf.n_used;