Subversion Repositories pentevo

Rev

Blame | Last modification | View Log | Download | RSS feed | ?url?

  1. /* codenone.c */
  2. /*****************************************************************************/
  3. /* SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only                     */
  4. /*                                                                           */
  5. /* AS                                                                        */
  6. /*                                                                           */
  7. /* Dummy Target                                                              */
  8. /*                                                                           */
  9. /*****************************************************************************/
  10.  
  11. #include "stdinc.h"
  12. #include <string.h>
  13.  
  14. #include "asmdef.h"
  15. #include "asmsub.h"
  16. #include "errmsg.h"
  17.  
  18. #include "codenone.h"
  19.  
  20. LargeWord none_target_seglimit;
  21.  
  22. /*-------------------------------------------------------------------------*/
  23.  
  24. static void make_code_none(void)
  25. {
  26.   CodeLen = 0;
  27.   DontPrint = False;
  28.  
  29.   if (Memo("")) return;
  30.  
  31.   WrError(ErrNum_NoTarget);
  32. }
  33.  
  34. static Boolean is_def_none(void)
  35. {
  36.   return False;
  37. }
  38.  
  39. static void switch_from_none(void)
  40. {
  41. }
  42.  
  43. static void initpass_none(void)
  44. {
  45.   if (!PassNo)
  46.     none_target_seglimit = 0xfffffffful;
  47. }
  48.  
  49. static void switch_to_none(void)
  50. {
  51.   TurnWords = False;
  52.   SetIntConstMode(eIntConstModeMoto);
  53.  
  54.   PCSymbol = ""; HeaderID = 0x00; NOPCode = 0x00;
  55.   DivideChars = ","; HasAttrs = False;
  56.  
  57.   ValidSegs = 1 << SegCode;
  58.   Grans[SegCode] = 1; ListGrans[SegCode] = 1; SegInits[SegCode] = 0;
  59.   SegLimits[SegCode] = none_target_seglimit;
  60.  
  61.   MakeCode = make_code_none;
  62.   SwitchFrom = switch_from_none;
  63.   IsDef = is_def_none;
  64. }
  65.  
  66. void codenone_init(void)
  67. {
  68.   (void)AddCPU("NONE", switch_to_none);
  69.   AddInitPassProc(initpass_none);
  70. }
  71.