• Welcome to Schneider / Amstrad CPC Forum.
Welcome to Schneider / Amstrad CPC Forum. Please login.

14. November 2024, 05:21:51

Login with username, password and session length

Shoutbox

TFM

2024-04-08, 20:42:44
Happy Sonnenfinsternis!  :)

TFM

2024-01-15, 17:06:57
Momentan billige Farbbänder auf Ebay für PCW

Devilmarkus

2023-07-09, 10:37:40
Zweiter 👋😂🤣

TFM

2023-06-13, 14:21:49
Sommerloch!

Recent

Members
  • Total Members: 222
  • Latest: giomba
Stats
  • Total Posts: 12,042
  • Total Topics: 1,376
  • Online today: 31
  • Online ever: 1,724
  • (16. January 2020, 00:18:45)
Users Online
Users: 0
Guests: 29
Total: 29

29 Guests, 0 Users

Wie übergebe ich einen Text / String-Parameter an CP/M?

Started by TFM, 14. January 2021, 18:20:49

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

TFM

Also hier ein Beispiel... Ich tippe...

A> SPEAK Dies ist ein Beispieltext

Wenn ich jetzt die Applikation SPEAK.COM bin, wie kann ich dann den Text im RAM finden?
TFM of FutureSoft
http://www.futureos.de --> Das Betriebssystem FutureOS (Update: 20.12.2023)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 26.12.2021)

LambdaMikel

Vielleicht hilft das hier; s. CP/M 8080 assembly ("CP/M includes some very rudimentary argument parsing: it assumes that the first two space-separated arguments are filenames. Apart from that you can get the raw command line, except that all lowercase letters are made uppercase.

If you need any further parsing, the program needs to do that by itself, which led to many people not bothering.")

https://rosettacode.org/wiki/Command-line_arguments

TFM

Danke, ich sehe es mir an, könnte sein was ich suche.  :smiley027:
TFM of FutureSoft
http://www.futureos.de --> Das Betriebssystem FutureOS (Update: 20.12.2023)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 26.12.2021)

TFM

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.
TFM of FutureSoft
http://www.futureos.de --> Das Betriebssystem FutureOS (Update: 20.12.2023)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 26.12.2021)