Revision 668a38fc alpha-dis.c
b/alpha-dis.c | ||
---|---|---|
434 | 434 |
|
435 | 435 |
/*ARGSUSED*/ |
436 | 436 |
static unsigned |
437 |
insert_rba(insn, value, errmsg) |
|
438 |
unsigned insn; |
|
439 |
int value ATTRIBUTE_UNUSED; |
|
440 |
const char **errmsg ATTRIBUTE_UNUSED; |
|
437 |
insert_rba(unsigned insn, int value ATTRIBUTE_UNUSED, const char **errmsg ATTRIBUTE_UNUSED) |
|
441 | 438 |
{ |
442 | 439 |
return insn | (((insn >> 21) & 0x1f) << 16); |
443 | 440 |
} |
444 | 441 |
|
445 | 442 |
static int |
446 |
extract_rba(insn, invalid) |
|
447 |
unsigned insn; |
|
448 |
int *invalid; |
|
443 |
extract_rba(unsigned insn, int *invalid) |
|
449 | 444 |
{ |
450 | 445 |
if (invalid != (int *) NULL |
451 | 446 |
&& ((insn >> 21) & 0x1f) != ((insn >> 16) & 0x1f)) |
... | ... | |
458 | 453 |
|
459 | 454 |
/*ARGSUSED*/ |
460 | 455 |
static unsigned |
461 |
insert_rca(insn, value, errmsg) |
|
462 |
unsigned insn; |
|
463 |
int value ATTRIBUTE_UNUSED; |
|
464 |
const char **errmsg ATTRIBUTE_UNUSED; |
|
456 |
insert_rca(unsigned insn, int value ATTRIBUTE_UNUSED, const char **errmsg ATTRIBUTE_UNUSED) |
|
465 | 457 |
{ |
466 | 458 |
return insn | ((insn >> 21) & 0x1f); |
467 | 459 |
} |
468 | 460 |
|
469 | 461 |
static int |
470 |
extract_rca(insn, invalid) |
|
471 |
unsigned insn; |
|
472 |
int *invalid; |
|
462 |
extract_rca(unsigned insn, int *invalid) |
|
473 | 463 |
{ |
474 | 464 |
if (invalid != (int *) NULL |
475 | 465 |
&& ((insn >> 21) & 0x1f) != (insn & 0x1f)) |
... | ... | |
482 | 472 |
|
483 | 473 |
/*ARGSUSED*/ |
484 | 474 |
static unsigned |
485 |
insert_za(insn, value, errmsg) |
|
486 |
unsigned insn; |
|
487 |
int value ATTRIBUTE_UNUSED; |
|
488 |
const char **errmsg ATTRIBUTE_UNUSED; |
|
475 |
insert_za(unsigned insn, int value ATTRIBUTE_UNUSED, const char **errmsg ATTRIBUTE_UNUSED) |
|
489 | 476 |
{ |
490 | 477 |
return insn | (31 << 21); |
491 | 478 |
} |
492 | 479 |
|
493 | 480 |
static int |
494 |
extract_za(insn, invalid) |
|
495 |
unsigned insn; |
|
496 |
int *invalid; |
|
481 |
extract_za(unsigned insn, int *invalid) |
|
497 | 482 |
{ |
498 | 483 |
if (invalid != (int *) NULL && ((insn >> 21) & 0x1f) != 31) |
499 | 484 |
*invalid = 1; |
... | ... | |
502 | 487 |
|
503 | 488 |
/*ARGSUSED*/ |
504 | 489 |
static unsigned |
505 |
insert_zb(insn, value, errmsg) |
|
506 |
unsigned insn; |
|
507 |
int value ATTRIBUTE_UNUSED; |
|
508 |
const char **errmsg ATTRIBUTE_UNUSED; |
|
490 |
insert_zb(unsigned insn, int value ATTRIBUTE_UNUSED, const char **errmsg ATTRIBUTE_UNUSED) |
|
509 | 491 |
{ |
510 | 492 |
return insn | (31 << 16); |
511 | 493 |
} |
512 | 494 |
|
513 | 495 |
static int |
514 |
extract_zb(insn, invalid) |
|
515 |
unsigned insn; |
|
516 |
int *invalid; |
|
496 |
extract_zb(unsigned insn, int *invalid) |
|
517 | 497 |
{ |
518 | 498 |
if (invalid != (int *) NULL && ((insn >> 16) & 0x1f) != 31) |
519 | 499 |
*invalid = 1; |
... | ... | |
522 | 502 |
|
523 | 503 |
/*ARGSUSED*/ |
524 | 504 |
static unsigned |
525 |
insert_zc(insn, value, errmsg) |
|
526 |
unsigned insn; |
|
527 |
int value ATTRIBUTE_UNUSED; |
|
528 |
const char **errmsg ATTRIBUTE_UNUSED; |
|
505 |
insert_zc(unsigned insn, int value ATTRIBUTE_UNUSED, const char **errmsg ATTRIBUTE_UNUSED) |
|
529 | 506 |
{ |
530 | 507 |
return insn | 31; |
531 | 508 |
} |
532 | 509 |
|
533 | 510 |
static int |
534 |
extract_zc(insn, invalid) |
|
535 |
unsigned insn; |
|
536 |
int *invalid; |
|
511 |
extract_zc(unsigned insn, int *invalid) |
|
537 | 512 |
{ |
538 | 513 |
if (invalid != (int *) NULL && (insn & 0x1f) != 31) |
539 | 514 |
*invalid = 1; |
... | ... | |
544 | 519 |
/* The displacement field of a Branch format insn. */ |
545 | 520 |
|
546 | 521 |
static unsigned |
547 |
insert_bdisp(insn, value, errmsg) |
|
548 |
unsigned insn; |
|
549 |
int value; |
|
550 |
const char **errmsg; |
|
522 |
insert_bdisp(unsigned insn, int value, const char **errmsg) |
|
551 | 523 |
{ |
552 | 524 |
if (errmsg != (const char **)NULL && (value & 3)) |
553 | 525 |
*errmsg = _("branch operand unaligned"); |
... | ... | |
556 | 528 |
|
557 | 529 |
/*ARGSUSED*/ |
558 | 530 |
static int |
559 |
extract_bdisp(insn, invalid) |
|
560 |
unsigned insn; |
|
561 |
int *invalid ATTRIBUTE_UNUSED; |
|
531 |
extract_bdisp(unsigned insn, int *invalid ATTRIBUTE_UNUSED) |
|
562 | 532 |
{ |
563 | 533 |
return 4 * (((insn & 0x1FFFFF) ^ 0x100000) - 0x100000); |
564 | 534 |
} |
... | ... | |
567 | 537 |
/* The hint field of a JMP/JSR insn. */ |
568 | 538 |
|
569 | 539 |
static unsigned |
570 |
insert_jhint(insn, value, errmsg) |
|
571 |
unsigned insn; |
|
572 |
int value; |
|
573 |
const char **errmsg; |
|
540 |
insert_jhint(unsigned insn, int value, const char **errmsg) |
|
574 | 541 |
{ |
575 | 542 |
if (errmsg != (const char **)NULL && (value & 3)) |
576 | 543 |
*errmsg = _("jump hint unaligned"); |
... | ... | |
579 | 546 |
|
580 | 547 |
/*ARGSUSED*/ |
581 | 548 |
static int |
582 |
extract_jhint(insn, invalid) |
|
583 |
unsigned insn; |
|
584 |
int *invalid ATTRIBUTE_UNUSED; |
|
549 |
extract_jhint(unsigned insn, int *invalid ATTRIBUTE_UNUSED) |
|
585 | 550 |
{ |
586 | 551 |
return 4 * (((insn & 0x3FFF) ^ 0x2000) - 0x2000); |
587 | 552 |
} |
... | ... | |
589 | 554 |
/* The hint field of an EV6 HW_JMP/JSR insn. */ |
590 | 555 |
|
591 | 556 |
static unsigned |
592 |
insert_ev6hwjhint(insn, value, errmsg) |
|
593 |
unsigned insn; |
|
594 |
int value; |
|
595 |
const char **errmsg; |
|
557 |
insert_ev6hwjhint(unsigned insn, int value, const char **errmsg) |
|
596 | 558 |
{ |
597 | 559 |
if (errmsg != (const char **)NULL && (value & 3)) |
598 | 560 |
*errmsg = _("jump hint unaligned"); |
... | ... | |
601 | 563 |
|
602 | 564 |
/*ARGSUSED*/ |
603 | 565 |
static int |
604 |
extract_ev6hwjhint(insn, invalid) |
|
605 |
unsigned insn; |
|
606 |
int *invalid ATTRIBUTE_UNUSED; |
|
566 |
extract_ev6hwjhint(unsigned insn, int *invalid ATTRIBUTE_UNUSED) |
|
607 | 567 |
{ |
608 | 568 |
return 4 * (((insn & 0x1FFF) ^ 0x1000) - 0x1000); |
609 | 569 |
} |
... | ... | |
1804 | 1764 |
/* Disassemble Alpha instructions. */ |
1805 | 1765 |
|
1806 | 1766 |
int |
1807 |
print_insn_alpha (memaddr, info) |
|
1808 |
bfd_vma memaddr; |
|
1809 |
struct disassemble_info *info; |
|
1767 |
print_insn_alpha (bfd_vma memaddr, struct disassemble_info *info) |
|
1810 | 1768 |
{ |
1811 | 1769 |
static const struct alpha_opcode *opcode_index[AXP_NOPS+1]; |
1812 | 1770 |
const char * const * regnames; |
Also available in: Unified diff