dc-stupid 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #
  2. # This file is part of the program psim.
  3. #
  4. # Copyright (C) 1994-1995, Andrew Cagney <cagney@highland.com.au>
  5. #
  6. # This program is free software; you can redistribute it and/or modify
  7. # it under the terms of the GNU General Public License as published by
  8. # the Free Software Foundation; either version 3 of the License, or
  9. # (at your option) any later version.
  10. #
  11. # This program is distributed in the hope that it will be useful,
  12. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14. # GNU General Public License for more details.
  15. #
  16. # You should have received a copy of the GNU General Public License
  17. # along with this program; if not, see <http://www.gnu.org/licenses/>.
  18. #
  19. array,normal: 0: 5: 0: 5:
  20. array,normal:21:31:32:-1:OE,LR,AA,Rc,LK:
  21. ##
  22. ## Branch Conditional instruction - Expand BO{0:4} only, ignore BO{5}
  23. ##
  24. array,expand-forced: 6: 9: 6: 9:BO: 0xfc000000:0x40000000
  25. ##
  26. ## Expand RA on equality with 0 in Add instructions were if(RA==0) appears.
  27. ##
  28. # Add Immediate
  29. #array,boolean: 11:15:11:15:RA: 0xfc000000:0x38000000:0
  30. # Add Immediate Shifted
  31. #array,boolean: 11:15:11:15:RA: 0xfc000000:0x3c000000:0
  32. ##
  33. ## Ditto for high frequency load/store instructions.
  34. ##
  35. # Store Byte
  36. #array,boolean: 11:15:11:15:RA: 0xfc000000:0x98000000:0
  37. # Store Word
  38. #array,boolean: 11:15:11:15:RA: 0xfc000000:0x90000000:0
  39. # Load Word and Zero
  40. #array,boolean: 11:15:11:15:RA: 0xfc000000:0x80000000:0
  41. ##
  42. ## Move to/from SPR instructions - LR=8 is munged into 0x100 == 256
  43. ##
  44. #array,boolean: 11:20:11:20:SPR: 0xfc0007ff:0x7c0003a6:256
  45. #array,boolean: 11:20:11:20:SPR: 0xfc0007ff:0x7c0002a6:256
  46. ##
  47. ## Compare Immediate instruction - separate out L == 0 and L == 1
  48. ##
  49. # Compare Immediate
  50. #array,boolean: 10:11:10:11:L: 0xfc000000:0x2c000000:0
  51. ##
  52. ## Move to/from SPR instructions - separate out LR case
  53. ##
  54. # Move to SPR
  55. #array,boolean: 11:20:11:20:SPR: 0xfc0007ff:0x7c0003a6:256
  56. # Move from SPR
  57. #array,boolean: 11:20:11:20:SPR: 0xfc0007ff:0x7c0002a6:256