racpu.pas 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. {
  2. $Id$
  3. Copyright (c) 1998-2003 by Mazen NEIFER
  4. Handles the common Sparc assembler reader routines
  5. This program is free software; you can redistribute it and/or modify
  6. it under the terms of the GNU General Public License as published by
  7. the Free Software Foundation; either version 2 of the License, or
  8. (at your option) any later version.
  9. This program is distributed in the hope that it will be useful,
  10. but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. GNU General Public License for more details.
  13. You should have received a copy of the GNU General Public License
  14. along with this program; if not, write to the Free Software
  15. Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  16. ****************************************************************************
  17. }
  18. unit racpu;
  19. {$i fpcdefs.inc}
  20. interface
  21. uses
  22. aasmbase,aasmtai,aasmcpu,
  23. cpubase,rautils,cclasses;
  24. type
  25. TSparcOperand=class(TOperand)
  26. end;
  27. TSparcInstruction=class(TInstruction)
  28. delayslot_annulled : boolean;
  29. { opcode adding }
  30. function ConcatInstruction(p : taasmoutput) : tai;override;
  31. end;
  32. implementation
  33. function TSparcInstruction.ConcatInstruction(p : taasmoutput) : tai;
  34. begin
  35. result:=inherited ConcatInstruction(p);
  36. { delay slot annulled support }
  37. if (result.typ=ait_instruction) and
  38. delayslot_annulled then
  39. taicpu(result).delayslot_annulled:=true;
  40. end;
  41. end.
  42. {
  43. $Log$
  44. Revision 1.3 2004-06-20 08:55:32 florian
  45. * logs truncated
  46. Revision 1.2 2004/06/16 20:07:11 florian
  47. * dwarf branch merged
  48. Revision 1.1.2.1 2004/05/25 21:38:53 peter
  49. * assembler reader/writer updates
  50. }