home *** CD-ROM | disk | FTP | other *** search
- ; TURPAR.ASM CP/M 2.2 + Turbo Pascal 2.0
- ; Version 2.0 U. Kornnagel
- ; PATCH Kommandozeilen-Parameter auf 127
- ; statt 32 Zeichen!
-
- ; Laenge des Parameters:
- STR.LEN EQU 127
-
- ; Parameteruebergabe-Adresse nach Laden:
- BASEPAGE EQU 80H
-
- ; Startadresse der Anwendung (TPA):
- TPA EQU 0100H
-
- ; Zeiger-Adresse der Parameter-Kopie:
- ; Dieser Wert muss im Pascal-Programm als
- ; absolute Adresse der Zeigervariablen zuge-
- ; wiesen werden (s. Pascal-Listing)
- Pointer EQU 1FC9H
-
- ; Startadresse des Programms incl. Patch:
- Prog.Start EQU Pointer+2+STR.LEN+1
-
- ; Begin des Patches fuer das compilierte Programm:
-
- ORG TPA
- JP Prog.Start
-
- ORG Pointer
- DEFW Neu.Parameter
- Neu.Parameter: DEFS STR.LEN+1
-
- ; Patch fuer das compilierte Programm:
- ORG Prog.Start
-
- ; Parameter-Puffer loeschen:
- LD HL,Neu.Parameter
- LD DE,Neu.Parameter+1
- LD BC,STR.LEN
- LD (HL),0
- LDIR
-
- ; Uebergabeparameter in Puffer kopieren:
- LD HL,BASEPAGE
- LD DE,Neu.Parameter
- LD BC,STR.LEN+1
- LDIR
-
- TOP.OF.MEM:
- ; Hier beginnt des Pascal-Programm.
- ; Diese Adresse vor dem Compilieren mit der
- ; Option S vereinbaren!
-
- PASCAL.START EQU TOP.OF.MEM
- END
-
- ; Der Patch im Intel-Hex-Format, der mittels DDT
- ; in das compilierte Programm eingebunden werden muss:
-
- :03010000C34B20CE
- :021FC900CB1F2C
- :1820B0021CB1F11CC1F017F003600EDB021800011CB1F018000EDB069
- :0000000000
-
- ; Einbindung:
- ; Turbo-Pascal-Programm schreiben
- ; Mit der Option C COM-File-Erzeugung einstellen
- ; Mit der Option S Startadresse auf 2063 (Hex) setzen
- ; Programm compilieren
- ; Laden des Programmes ueber DDT oder ZSID
- ; z.B. ZSID Myprog.COM
- ; Festlegen des Patches TURPAR.HEX und ausfuehren:
- ; Eingabe der Befehle
- ; ITURPAR.HEX
- ; R
- ; ZSID oder DDT mit ^C verlassen
- ; Programm mit SAVE speichern.
-