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 >
Wrap
Locomotive BASIC
|
1998-04-30
|
14KB
|
121 lines
CPC-ASM BAS
CPC - Assembler V 2.0
(C) 1987 DMV / Matthias Uphoff
veroeffentlich in PC International Nr.6/88 S.40
***** Initialisierung
Unterscheidung 464/6128
Dateipuffer ab hibas+2 einrichten
FD,21,00,00,4B,42,DD,6E
04,DD,66,05,7E,23,5E,23
56,DD,6E,06,DD,66,07,18
27,BE,20,1F,E5,D5,C5,F5
23,4E,23,66,69,47,1A,BE
20,0D,13,23,10,F8,F1,C1
D1,E1,FD,E5,C1,18,0E,F1
C1,D1,E1,23,23,23,FD,23
0B,CB,78,28,D4,DD,6E,02
DD,66,03,71,23,70,C9,00
REM apostrophe missing,Label not defined,Syntax error,Offset too large,Operand missing,Improper argument
3F,2F,27,F3,FB,D9,76,00,17,07,1F,0F,37
A9,B9,A1,B1,AA,BA,A2,B2,A8,B8,A0,B0,44,BB,B3,AB,A3,4D,45,6F,67
" 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 "
" CCF CPL DAA DI EI EXX HALT NOP RLA RLCA RRA RRCA SCF "
" CPD CPDR CPI CPIR IND INDR INI INIR LDD LDDR LDI LDIR NEG OTDR OTIR OUTD OUTI RETI RETN RLD RRD "
" EQU ORG PUT DEFB DEFW DEFM DEFS DB DW DM DS DMX END "
"B C D E H L (HL)A (IX(IY"
"BC DE HL SP IX IY "
"NZ Z NC C PO PE P M "
***** Programmstart
"*** C P C Z 8 0 - A S S E M B L E R ***"
"Program name :",
"Printer (y/n):",
EndFla
***** Quellprogramm von Disc
EndFla
," ")
***** Quellprogramm aus Speicher
EndFla
);" in";
***** Programmende
,"Undefined label ";
);" in ";
,"Program: ";
;" Start: &";
);" End: &";
);" Length: &";
);" Errors:";
"Label table:"
);"=";
***** 2. Durchlauf oder Sichern?
"Reassemble (y/n):",
"Save file (y/n):",
,".")
"Select ";
"<S>ource code, ";
"<O>bject code, <C>OM file or <B>asic loader :",
".bin",
".asm",
***** COM-Datei erzeugen
".com"
***** Datazeilen-Generator
"First line:",
"Line increment:",
".bas"
" MEMORY &"
" FOR adr=&"
" TO &"
":READ a$:POKE adr,VAL("
"+a$):NEXT"
" DATA "
***** Code ermitteln u. Ausgabe
);" in ";
"####";
***** Zeile zerlegen
,";")
," ")
***** Test auf gueltigen Befehl
***** Verarbeitung als Label
***** Befehle ohne Operand
***** Pseudobefehle
EndFla
DM/DMX
***** Befehle mit Operand:
***** Op. zerlegen u. Verzweigung
,"(")
,")")
***** Ladebefehle LD
t("IR",
"BC"
"DE"
***** Relative Spruenge JR/DJNZ
***** Spruenge CALL/RET/JP
***** Zaehlbefehle INC/DEC
***** Stackbefehle POP/PUSH
"AF"
***** Restartbefehle RST
***** Ein/Ausgabebefehle IN/OUT
***** Interruptmodi IM
***** Austauschbefehle EX
"(SP)"
"DE,HL"
"AF,AF'"
***** Arithmetisch-logische Befehle
***** Rotations/Schiebebefehle
***** Bitbefehle BIT/SET/RES
***** SUB 2-Byte-Wert holen
t("&+-0123456789",
***** SUB 1-Byte-Wert holen
***** SUB Test auf Register
" ",
t("+-",
,"(HL)")
***** SUB Test auf Registerpaar
" ",
***** SUB Test auf Bedingung
" ",
***** SUB Operand holen/zerlegen
***** SUB Operand zerlegen
,",")
,",")
e,3e,5d,c3,5c,c3