Und so sieht dann der Source Code aus.... für SP.COM
NOLIST ;SP.MAX
ORG &0100 ;2021.01.19
WRITE"SP.COM" ;Zeilen 48
JR START
;
; --- >>> Version und Konfiguration <<< ---
;
DB &18,&0D," ",&0A,&0D
DB &0D
DB "SP.COM - speaks and prints command line",&0A,&0D
DB "(c)2021 LambdaMikel and TFM of FutureSoft",&0A,&0D
DB "Powered by FutureOS knowhow!",&0A,&0D
DB &1A
;
; --- >>> String (von Eingabezeile) anzeigen und sprechen <<< ---
;
START LD BC,&FBEE:LD A,&E8:OUT (C),A ;Confirmatins OFF
LD HL,&0081 ;HL = Zeiger auf Stringanfang
LD A,&EF:OUT (C),A ;LS auf Epson Modus
LD A,(&0080) ;A = Laenge des Strings (max. 127 Bytes)
ZSTR AND A,A ;String-Laenge = &00?
RET Z ;Dann fertig!
PUSH AF:PUSH BC:PUSH HL ; Save A, BC and HL registers on the stack
LD E,(HL) ;E = naechstes Zeichen aus String
OUT (C),E ;Zeichen an LS senden
LD C,&02 ;CP/M Kommando Zeichen darstellen
CALL &0005 ;BDOS aufrufen
POP HL:POP BC:POP AF ; Restore A and HL registers
INC HL ;Increment string pointer
DEC A ;Decrement character counter
JR NZ,ZSTR ;n. Zeichen
LD A,&0D:OUT (C),A ;CR senden, String sprechen
RET
Nebenbei: Die fertige SP.COM Applikation ist auf der LS Disk 2 drauf.