Herunterladen Inhalt Inhalt Diese Seite drucken

Programmbeispiele; Dump-Ausgabe - Kleincomputer KC 85 Handbuch

Vorschau ausblenden Andere Handbücher für KC 85:
Inhaltsverzeichnis

Werbung

Handbuch für den Programmierer
Anlage 6: Programmbeispiele
Im folgenden sollen einige Beispiele die Nutzung der Systemfunk-
tionen verdeutlichen. Die Quelldateien werden mit Hilfe des Text-
prozessors erstellt und dann mit dem Assembler (ASM in
REL-Dateien übersetzt. Mit dem Linker (LINK) können sie dann in
ablauffähige COM-Programme umgesetzt werden, welche direkt unter
MicroDOS arbeiten. Besonderen Wert wurde in den Beispielen auf
die Nutzung der ESCape-Funktionen der Bildschirmausgabe und die
Erstellung eigener Gerätetreiberprogramme gelegt.

6.1: DUMP-Ausgabe

Das erste Beispielprogramm ist allgemeiner Natur und läuft auch
unter allen SCP bzw. CP/M-Systemen. Dieses Ausgabeprogramm liest
eine Eingabedatei, welche im CCP-Kommando angegeben wird, und
gibt
diese
auf
Programm rettet den CCP-Stackpointer beim Eintritt, setzt den
Stackpointer auf einen lokalen Stack und stellt den CCP-Stack-
pointer vor der direkten Rückkehr zum CCP wieder her. Das heißt,
es wird kein Warmstart am Ende des Programms durchgeführt.
0005
0001
0002
0009
000B
000F
0014
005C
0080
000D
000A
005C
005D
0065
0068
006B
007C
007D
0000'
21 0000
0003'
39
0004'
22 00F5'
0007'
31 0137'
000A'
CD 00C1'
000D'
FE FF
000F'
C2 001B'
der
Konsole
in
;
; Dump-Ausgabeprogramm
;
bdos
equ
cons
equ
typef
equ
printf
equ
brkf
equ
openf
equ
readf
equ
;
fcb
equ
buff
equ
;
; Steuerzeichen
cr
equ
lf
equ
;
; FCB-Definitionen
fcbdn
equ
fcbfn
equ
fcbft
equ
fcbr1
equ
fcbrc
equ
fcbcr
equ
fcbln
equ
;
; Stack setzen
ld
add
; Stackpointer des CCP in HL
ld
; SP auf lokalen wert setzen
ld
; Puffer einlesen und ausgeben
call
cp
jp
78
hexadezimaler
.z80
0005h
; BDOS-Eintritt
1
; Konsole lesen
2
; Konsole schreiben
9
; Puffer ausgeben
11
; Konsolenstatus
15
; Datei eröffnen
20
; Daten lesen
005ch
; FCB-Adresse
0080h
; Eingabepuffer
0dh
; Wagenrücklauf
0ah
; Zeilenvorschub
fcb+0
; Diskettenname
fcb+1
; Dateiname
fcb+9
; Dateityp
fcb+12
; Erweiterung
fcb+15
; Datensatzanzahl
fcb+32
; Datensatzzähler
fcb+33
; FCB-Länge
hl,0
hl,sp
(oldsp),hl
sp,stktop
setup
; Datei eröffnen
255
; Datei vorhanden?
nz,openok
; Springen wenn ok
Anlage 6
/2/) in
Form
aus.
Das

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis