sparc-dis.c (78828) | sparc-dis.c (91041) |
---|---|
1/* Print SPARC instructions. 2 Copyright 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 3 2000 Free Software Foundation, Inc. 4 5This program is free software; you can redistribute it and/or modify 6it under the terms of the GNU General Public License as published by 7the Free Software Foundation; either version 2 of the License, or 8(at your option) any later version. --- 405 unchanged lines hidden (view full) --- 414 415 case 'D': 416 creg (X_RD (insn)); 417 break; 418#undef creg 419 420 case 'h': 421 (*info->fprintf_func) (stream, "%%hi(%#x)", | 1/* Print SPARC instructions. 2 Copyright 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 3 2000 Free Software Foundation, Inc. 4 5This program is free software; you can redistribute it and/or modify 6it under the terms of the GNU General Public License as published by 7the Free Software Foundation; either version 2 of the License, or 8(at your option) any later version. --- 405 unchanged lines hidden (view full) --- 414 415 case 'D': 416 creg (X_RD (insn)); 417 break; 418#undef creg 419 420 case 'h': 421 (*info->fprintf_func) (stream, "%%hi(%#x)", |
422 (0xFFFFFFFF | 422 ((unsigned) 0xFFFFFFFF |
423 & ((int) X_IMM22 (insn) << 10))); 424 break; 425 426 case 'i': /* 13 bit immediate */ 427 case 'I': /* 11 bit immediate */ 428 case 'j': /* 10 bit immediate */ 429 { 430 int imm; --- 280 unchanged lines hidden (view full) --- 711 if (errcode == 0) 712 { 713 /* Is it sethi to the same register? */ 714 if ((prev_insn & 0xc1c00000) == 0x01000000 715 && X_RD (prev_insn) == X_RS1 (insn)) 716 { 717 (*info->fprintf_func) (stream, "\t! "); 718 info->target = | 423 & ((int) X_IMM22 (insn) << 10))); 424 break; 425 426 case 'i': /* 13 bit immediate */ 427 case 'I': /* 11 bit immediate */ 428 case 'j': /* 10 bit immediate */ 429 { 430 int imm; --- 280 unchanged lines hidden (view full) --- 711 if (errcode == 0) 712 { 713 /* Is it sethi to the same register? */ 714 if ((prev_insn & 0xc1c00000) == 0x01000000 715 && X_RD (prev_insn) == X_RS1 (insn)) 716 { 717 (*info->fprintf_func) (stream, "\t! "); 718 info->target = |
719 (0xFFFFFFFF & (int) X_IMM22 (prev_insn) << 10); | 719 ((unsigned) 0xFFFFFFFF 720 & ((int) X_IMM22 (prev_insn) << 10)); |
720 if (imm_added_to_rs1) 721 info->target += X_SIMM (insn, 13); 722 else 723 info->target |= X_SIMM (insn, 13); 724 (*info->print_address_func) (info->target, info); 725 info->insn_type = dis_dref; 726 info->data_size = 4; /* FIXME!!! */ 727 } --- 255 unchanged lines hidden --- | 721 if (imm_added_to_rs1) 722 info->target += X_SIMM (insn, 13); 723 else 724 info->target |= X_SIMM (insn, 13); 725 (*info->print_address_func) (info->target, info); 726 info->insn_type = dis_dref; 727 info->data_size = 4; /* FIXME!!! */ 728 } --- 255 unchanged lines hidden --- |