home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / robot-pd / 14400.ZIP / 14400A.DSK / cpc-asm.bas (.txt) < prev    next >
Locomotive BASIC  |  1998-04-30  |  14KB  |  121 lines

  1. CPC-ASM BAS
  2.  CPC - Assembler V 2.0
  3.  (C) 1987 DMV / Matthias Uphoff
  4.  veroeffentlich in PC International Nr.6/88 S.40
  5. ***** Initialisierung
  6. Unterscheidung 464/6128
  7. Dateipuffer ab hibas+2 einrichten
  8.  FD,21,00,00,4B,42,DD,6E
  9.  04,DD,66,05,7E,23,5E,23
  10.  56,DD,6E,06,DD,66,07,18
  11.  27,BE,20,1F,E5,D5,C5,F5
  12.  23,4E,23,66,69,47,1A,BE
  13.  20,0D,13,23,10,F8,F1,C1
  14.  D1,E1,FD,E5,C1,18,0E,F1
  15.  C1,D1,E1,23,23,23,FD,23
  16.  0B,CB,78,28,D4,DD,6E,02
  17.  DD,66,03,71,23,70,C9,00
  18.  REM apostrophe missing,Label not defined,Syntax error,Offset too large,Operand missing,Improper argument
  19.  3F,2F,27,F3,FB,D9,76,00,17,07,1F,0F,37
  20.  A9,B9,A1,B1,AA,BA,A2,B2,A8,B8,A0,B0,44,BB,B3,AB,A3,4D,45,6F,67
  21. " LD   JR   DJNZ CALL RET  JP   INC  DEC  POP  PUSH RST  IN   OUT  IM   EX   ADD  ADC  SUB  SBC  AND  XOR  OR   CP   RLC  RRC  RL   RR   SLA  SRA  **** SRL  BIT  RES  SET "
  22. " CCF  CPL  DAA  DI   EI   EXX  HALT NOP  RLA  RLCA RRA  RRCA SCF "
  23. " CPD  CPDR CPI  CPIR IND  INDR INI  INIR LDD  LDDR LDI  LDIR NEG  OTDR OTIR OUTD OUTI RETI RETN RLD  RRD " 
  24. " EQU  ORG  PUT  DEFB DEFW DEFM DEFS DB   DW   DM   DS   DMX  END "
  25. "B  C  D  E  H  L  (HL)A  (IX(IY"
  26. "BC DE HL SP IX IY "
  27. "NZ Z  NC C  PO PE P  M  "
  28. ***** Programmstart
  29. "*** C P C   Z 8 0 - A S S E M B L E R ***"
  30. "Program name :",
  31. "Printer (y/n):",
  32. EndFla
  33. ***** Quellprogramm von Disc
  34. EndFla
  35. ," ")
  36. ***** Quellprogramm aus Speicher
  37. EndFla
  38. );" in";
  39. ***** Programmende
  40. ,"Undefined label ";
  41. );" in ";
  42. ,"Program: ";
  43. ;"   Start: &";
  44. );"   End: &";
  45. );"   Length: &";
  46. );"   Errors:";
  47. "Label table:"
  48. );"=";
  49. ***** 2. Durchlauf oder Sichern?
  50. "Reassemble (y/n):",
  51. "Save file (y/n):",
  52. ,".")
  53. "Select ";
  54. "<S>ource code, ";
  55. "<O>bject code, <C>OM file or <B>asic loader :",
  56. ".bin",
  57. ".asm",
  58. ***** COM-Datei erzeugen
  59. ".com"
  60. ***** Datazeilen-Generator
  61. "First line:",
  62. "Line increment:",
  63. ".bas"
  64. " MEMORY &"
  65. " FOR adr=&"
  66. " TO &"
  67. ":READ a$:POKE adr,VAL("
  68. "+a$):NEXT"
  69. " DATA "
  70. ***** Code ermitteln u. Ausgabe
  71. );" in ";
  72. "####";
  73. ***** Zeile zerlegen
  74. ,";")
  75. ," ")
  76. ***** Test auf gueltigen Befehl
  77. ***** Verarbeitung als Label
  78. ***** Befehle ohne Operand
  79. ***** Pseudobefehle
  80. EndFla
  81.  DM/DMX
  82. ***** Befehle mit Operand:
  83. ***** Op. zerlegen u. Verzweigung
  84. ,"(")
  85. ,")")
  86. ***** Ladebefehle LD
  87. t("IR",
  88. "BC" 
  89. "DE" 
  90. ***** Relative Spruenge JR/DJNZ
  91. ***** Spruenge CALL/RET/JP
  92. ***** Zaehlbefehle INC/DEC
  93. ***** Stackbefehle POP/PUSH
  94. "AF" 
  95. ***** Restartbefehle RST
  96. ***** Ein/Ausgabebefehle IN/OUT
  97. ***** Interruptmodi IM
  98. ***** Austauschbefehle EX
  99. "(SP)" 
  100. "DE,HL" 
  101. "AF,AF'" 
  102. ***** Arithmetisch-logische Befehle
  103. ***** Rotations/Schiebebefehle
  104. ***** Bitbefehle BIT/SET/RES
  105. ***** SUB 2-Byte-Wert holen
  106. t("&+-0123456789",
  107. ***** SUB 1-Byte-Wert holen
  108. ***** SUB Test auf Register
  109. "  ",
  110. t("+-",
  111. ,"(HL)") 
  112. ***** SUB Test auf Registerpaar
  113. "  ",
  114. ***** SUB Test auf Bedingung
  115. "  ",
  116. ***** SUB Operand holen/zerlegen
  117. ***** SUB Operand zerlegen
  118. ,",")
  119. ,",")
  120. e,3e,5d,c3,5c,c3
  121.