****************************** DB - DOK ****************************** * * * **** *** * * **** **** * * * * * * * * * * * * * **** * * * * * **** **** * * * * * * * * * * * * * * * *** * * **** * * * * * ********************************************************************** * * * * * VEB DB * PAB 10103-06/84-1.0 * POWER.DOC * * * * * * HA ORG. * **************** * * Anwendungsbeschreibung POWER * CP/M * * 10103 * * * * * * DAC * ********************************************************************** * * * TEXTGROESSE : 26 K BYTE BEARBEITER : BUROW * * * ********************************************************************** Inhaltsverzeichnis ================== 1. Allgemeines ~~~~~~~~~~~ 1.1. Handhabung von POWER 1.2. Allgemeine Kommandos 1.2. Dateinamen 1.3. Optionen 2. Kommandos zur Arbeit mit dem Verzeichnis ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2.1. DIR - Anzeige Diskettenverzeichnis 2.2. REN - Datei umbenennen 2.3. ERA - Datei loeschen 2.4. SORT - Sortierung des Diskettenverzeichnisses 2.5. SETRO - Datei auf "Nur-Lese-Status" setzen 2.6. SETWR - Datei auf "Schreib-Lese-Status" setzen 2.7. SETDIR - Datei auf "Directory-Status" setzen 2.8. SETSYS - Datei auf "System-Status" setzen 2.9. SET - Setzen bzw. Ruecksetzen des hoechstwertigen Bits jedes beliebigen Bytes des Dateinamens 2.10. SIZE - Anzeige der Speicherplatzbelegung einer Datei 2.11. RECLAIM - Aktivierung geloeschter Dateien 2.12. GROUP - Anzeige der Nummern der je Datei belegten Aufzeichnungsbloecke 2.13. CHECK - Anzeige der Pruefsumme der Verzeichniseintragung 3. Kommandos zur Arbeit mit Dateien ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3.1. TYPE - Anzeige von Dateien sektorweise 3.2. COPY - Kopieren von Dateien 3.3. RUN - Laden und Starten einer COM-Datei 3.4. GO - Laden und Starten einer Datei 3.5. LOAD - Laden einer Datei 3.6. EX - Starten eines Programmes und Rueckkehr nach POWER 3.7. JP - Starten eines Programmes und Rueckkehr in das System 3.8. SAVE - Abzug eines Speicherbereiches auf Diskette 4. Kommandos zur Arbeit im Speicher ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4.1. DUMP - Anzeige Speicherinhalt 4.2. FILL - Fuellen Speicherbereich mit vorgegebenen Bytes 4.3. MOVE - Umspeichern 4.4. DS - Anzeige und Veraendern von Speicherinhalt byteweise 4.5. CM - Vergleich zweier Speicherinhalte 4.6. SEARCH - Suchen von Bytefolgen im Speicher 5. Kommandos zum physischen Lesen/Schreiben Diskette ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5.1. READGR - Lesen eines oder mehrerer Aufzeichnungsbloecke 5.2. WRITEGR - Schreiben eines oder mehrerer Aufzeichnungsbloecke 5.3. READ - Diskette sektorweise lesen 5.4. WRITE - Diskette sektorweise schreiben 6. Kommandos fuer Laufwerke ~~~~~~~~~~~~~~~~~~~~~~~~ 6.1. TEST - Test aller Sektoren einer Diskette, reparieren bzw. abtrennen defekter Sektoren 6.2. START - Anzeige des verfuegbaren und freien Speicherplatzes auf Diskette 6.3. RESET - Laufwerk abmelden 6.4. DISK - Anzeige Diskettenparameter 1. Allgemeines ================= POWER ist ein Dienstprogramm, das die Arbeit mit Dateien auf Diskette, sowie den Umgang mit dem Speicher unterstuetzt. In der vorliegenden Form ist POWER mit seiner grossen Anzahl von Kommandos besonders fuer den Systemprogrammierer geeignet. Der Anwendungsprogrammierer sollte POWER mit groesster Vorsicht benutzen, da der Disketteninhalt durch die Moeglichkeit des direkten Schreibens leicht zerstoert werden kann. 1.1. Handhabung von POWER ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ POWER wird von einem beliebigen Laufwerk geladen und meldet sich anschliessend mit dem aktuellen Laufwerk und dem Promptzeichen = (z.B. B=). POWER erwartet nun die Eingabe eines Kommandos. 1.2. Allgemeine Kommandos ~~~~~~~~~~~~~~~~~~~~~~~~~ Allgemeine Kommandos sind: -------- | EXIT | - Beendigung von POWER und Rueckkehr in das -------- Betriebssystem -------- | lw: | - Auswahl eines anderen Laufwerkes -------- ---------- | USER i | - Umschalten des Nutzerbereiches auf Anwender i ---------- ----------- | XUSER i |- Setzt die Quelle fuer das Kopieren auf Anwender i ----------- -------- | LOG | - Anzeige der zur Verfuegung stehenden Optionen -------- (Schalter), sowie der Groesse von POWER und des TPA (Einzelheiten siehe Pkt. 1.4.) ----------- | SPEED i |- Steuerung der Schnelligkeit des Kursors ----------- SPEED 0 langsam SPEED 9 schnell (i = 0...9) ----- | ? | - Helpfunktion ----- -------- | UR i | - Anwenderkommandos (i=1...4) -------- Sind diese installiert, koennen sie aufgerufen werden Sie muessen in folgenden Speicherplaetzen von POWER angegeben werden: UR1 140..147H UR2 148..14FH UR3 150..157H UR4 158..15FH Mit der Taste wird die Ausfuehrung eines Kommandos abgebrochen und POWER meldet sich wieder mit dem Promptzeichen. Nach Eingabe einer Reihe von Kommandos erscheint ein Inhaltsverzeich- nis der aktuellen Diskette, in dem die Dateien durchnumeriert sind. Anschliessend folgt SELECT? Es werden die Nummern der zu bearbeitenden Dateien eingegeben z.B. 1 5 9 (Dateien 1,5 und 9) 1-7 (Dateien 1 bis 7) 12- (Dateien 12 bis Ende) Werden Disketten gewechselt waehrend der Arbeit mit POWER, dann ist ^C vor der weiteren Eingabe zu geben, sonst wird dies mit einer Aus- schrift verlangt. ^C unterbricht ausserdem jedes Kommando. 1.3. Dateinamen ~~~~~~~~~~~~~~~~ - Soll ein Kommando nur auf eine vorher bestimmte Datei angewendet werden, so kann der Dateiname in der CP/M-ueblichen Form hinter dem Kommando angegeben werden, z.B. COPY lw:dateiname . Dabei kann das Zeichen * fuer Dateigruppen verwendet werden: REN *.BAK REN DATE.* Ebenso ist das Fragezeichen fuer einen beliebigen Buchstaben moeglich. - Zeichenfolge *** Diese Zeichenfolge steht fuer "alle Dateien". Nach Anlisten des Verzeichnisses wird das geforderte Kommando nacheinander auf alle Dateien angewendet. Dateien mit dem Status "R/O" werden bei Ausfuehrung bestimmter Funktionen (REN, ERA...) uebergangen. - Zeichenfolge *.* Diese Kombination bedeutet ebenfalls "alle Dateien". Nach der Anzeige des Verzeichnises erfolgt hier jedoch die Frage SELECT? zur Auswahl der Dateien. 1.4. Optionen ~~~~~~~~~~~~~~ Die nachfolgend aufgefuehrten Optionen koennen separat in die Komman- dozeile oder zusaetzlich zu einem Kommando eingegeben werden. Die entsprechende Option muss dabei in eckige Klammern eingeschlossen werden. Einige der Optionen haben die Funktion eines Schalters (ON/Off-Status) und koennen jederzeit gesetzt bzw. geloescht (durch nochmalige Eingabe der Option) werden. Fehlt die Angabe einer Option, so wird ein Standard gesetzt, der mit dem Kommando LOG angezeigt werden kann. Die in der Uebersicht zu jeder Option beschriebene Funktion wird beim Status "ON" ausgefuehrt. Option Funktion ~~~~~~ ~~~~~~~~ P Drucker als hard copy zuschalten R Vor Ausfuehrung des jeweiligen Kommandos erfolgt die Nachfrage: Y/N ? i i = 1...9 i gibt die Spaltenanzahl fuer die Anzeige des Ver- zeichnisses an Option Funktion ~~~~~~ ~~~~~~~~ V Schreibpruefung (Lesen nach Schreiben) S Anzeige der Systemdateien U Anzeige des Inhaltsverzeichnisses nach USER- Bereichen Optionen fuer COPY __________________ C Bei Ausfuehrung von COPY erscheint folgende Meldung, wenn die Datei schon existiert: file exists, (B)ackup, (O)verwrite, (S)kip B: Erzeugung einer Sicherheitskopie, danach COPY O: Datei wird ueberschrieben S: kein Kopieren A Ueberschreiben einer Datei B Die bestehende Datei wird in .BAK umbenannt D Kopieren einer Datei wird nicht ausgefuehrt, wenn die Datei schon besteht. M Markieren der Originaldatei (>) und Kopie (<) Q Umbenennen der Kopie ist moeglich T Abbruch, wenn die zu kopierende Datei keinen Platz findet (OFF:Versuch, eine kleinere Datei zu kopieren) 2. Kommandos zur Arbeit mit dem Verzeichnis ============================================= 2.1. ------------ Anzeige des Diskettenverzeichnisses vom aktuellen | DIR[opt] | Laufwerk oder einem anderen, wenn hinter dem ------------ Kommando noch eine Laufwerksangabe folgt, z.B.: DIR[U] B: - opt: U, X, i U: Anzeige des Verzeichnisses sortiert nach Nutzerbereichen X: es werden die Verzeichnisse aller in POWER angemeldeten Laufwerke angezeigt i: i = 1...9; Anzahl der Spalten fuer die Anzeige des Verzeichnisses Es koennen auch mehrere Parameter (ohne Trennungszeich.) angegeben werden, z.B. DIR[UX] - Zeichen im Verzeichnis haben folgende Bedeutung: * Datei hat den Status R/O (schreibgeschuetzt) ( ) Datei hat den Status SYS (systemgeschuetzt) > Datei ist bei Kopieroperation die Originaldatei (z.B. DAT > COM) < Datei wird bei Kopieroperation die Kopie 2.2. ------- | REN | Umbenennung von ausgewaehlten Dateien ------- Dazu wird bei jedem File nach dem neuen Namen gefragt. Die Angebe eines Sternes im Namen oder der Namenser- weiterung laesst den alten Namensteil unveraendert. 2.3. ------- | ERA | Loeschen von ausgewaehlten Dateien ------- Bei Eingabe von ERA[R] erfolgt vor dem Loeschen noch- malige Rueckfrage 2.4. ---------- | SORT i | Sortierung des Inhaltsverzeichnisses ---------- i Sortierung nach --- --------------- 0 unsortiert 1 Dateihauptname 2 Dateihauptname, die Dateien mit Status "SYS" zuletzt 3 Dateiergaenzungsname 4 Dateiergaenzungsname, die Dateien mit Status "SYS" zuletzt 2.5. --------- | SETRO | Dateien auf den "read only"-Status setzen --------- Es werden alle Dateien mit dem R/W-Status zur Auswahl angezeigt. 2.6. --------- | SETWR | Dateien auf den "read/write"-Status setzen --------- Es werden alle Dateien mit R/O-Status zur Auswahl angezeigt. 2.7. ---------- Fuer die ausgewaehlten Dateien wird der | SETDIR | "System"-Status aufgehoben und "DIRectory"-Status ---------- festgelegt. 2.8. ---------- | SETSYS | Dateien erhalten den "SYStem"-Status ---------- 2.9. ----------------- Setzen (-) bzw. Ruecksetzen (+) des 7.Bits | SET[opt1opt2] | jedes beliebigen Bytes des Dateinamens. ----------------- SET ohne Angabe von Options zeigt die gesetzten 7.Bits an. opt1: - oder + opt2: 1,2....8,S,R oder X 1..8 : n-tes Zeichen des Dateihaupt- namens R : 1. Zeichen des Dateiergaen- zungsnamens (R/O) S : 2. Zeichen des Dateiergaen- zungsnamens (SYS) X : 3. Zeichen des Dateiergaen- zungsnamens Beispiele: SET[-1] setzt das 7. Bit des ersten Bytes des Dateihauptnamens. SET[+R] zuruecksetzen des 7. Bits des ersten Bytes des Datei- ergaenzungsnamens (Aufheben des "R/O"-Status). 2.10.-------- Anzeige des Speicherplatzbedarfs der ausgewaehlten | SIZE | Dateien -------- Es werden angezeigt: belegte Sektoren freie Sektoren Anzahl k-Byte Gesamtbelegung 2.11.----------- Aktivieren geloeschter Dateien. | RECLAIM | Nacheinander werden die im Diskettenverzeichnis ----------- geloeschten Dateien angezeigt: lw: dateiname - RECOVER(Y/N)? Y: Datei aktivieren 2.12.--------- Fuer die geforderten Dateien werden jeweils die | GROUP | Nummern der belegten 1 kByte grossen Aufzeich- --------- nungsbloecke sowie die des Verzeichniseintrages (Extend) angezeigt. 2.13.--------- | CHECK | Anzeige der Pruefsumme der Verzeichniseintragung --------- fuer die ausgewaehlten Dateien. 3. Kommandos zur Arbeit mit Dateien ====================================== 3.1. ------------ | {X} | Anzeige von ausgewaehlten Dateien sektorweise | TYPE{H} | | {A} | TYPE - Anzeige als ASCII-Zeichen (ohne Sektoren) ------------ TYPEX - Anzeige hexadezimal und ASCII TYPEH - Anzeige nur hexadezimal TYPEA - Anzeige nur ASCII 3.2. -------- Kommando zum Kopieren der nach SELECT? ausgewaehl- | COPY | ten Dateien vom akt. Laufwerk auf ein beliebiges -------- anderes. Die Zieldiskette wird nach der Meldung destination drive: eingegeben. Durch COPY[Q] koennen die Dateien gleichzeigig umbe- nannt werden. Weitere moegliche Optionen siehe Pkt. 1.4. 3.3. ---------------------- | RUN[dateiname par] | Laden und Starten einer COM-Datei ---------------------- Parameter koennen angegeben werden 3.4. ------------------------ | GO dateiname adr par | Laden einer Datei nach adr und Start. ----------------------- par: Parameteruebergabe von Konsole zum Programm 3.5. -------------------- |LOAD dateiname adr| Laden einer Datei an die angegebene -------------------- Adresse adr Nach dem Laden der Datei wird die obere Speicherbelegungsgrenze angezeigt. 3.6. -------------- Starten eines Programms ab vorgegebener | EX adr arg | Adresse adr und bei Programmende Rueck- -------------- kehr nach POWER 3.7. -------------- Starten eines Programms ab vorgegebener | JP adr arg | Adresse adr; bei Programmende Rueck- -------------- kehr in das Betriebssystem arg: entspricht der Kommandozeile im Betriebssystem 3.8. --------------------------- | SAVE dateiname adr nsec | --------------------------- Speicherbereich ab adr auf Diskette ab- speichern unter dem Namen dateiname. nsec: Anzahl der Sektoren braucht nicht angegeben zu werden, wenn die Datei vorher mit POWER geladen wurde. 4. Kommandos zur Arbeit im Speicher ====================================== 4.1. ---------------------- | {X} {[adr],i} | | DUMP{H} {[adr],,} | Anzeige des Speicherinhaltes | {A} {[adr], } | ---------------------- DUMPX - Anzeige hexadezimal + ASCII DUMPH - Anzeige nur hexadezimal DUMPA - Anzeige nur ASCII adr: Fehlt die Angabe adr, dann erfolgt die Anzeige ab aktueller Position, sonst ab adr ,i: es werden i-Bytes angezeigt ,,: es werden alle folgenden Bytes angezeigt - Anhalten der Anzeige mit und fort- setzen mit - Abbruch der Anzeige mit 4.2. ----------------------- | FILL adr1 adr2 byte | Fuellen des Speicherbereiches ----------------------- von adr1 bis adr2 mit byte 4.3. ----------------------- | MOVE adr1 adr2 adr3 | Der Speicherinhalt von adr1 bis ----------------------- adr2 wird ab der Adresse adr3 gespeichert 4.4. ---------- | DS adr | Anzeige des Speicherinhaltes byteweise ab der an- ---------- gebenen Adresse in hexadezimaler, dezimaler, binaerer und Zeichenform Anschliessend erscheint die Angabe, in welcher Form eine eventuelle Aenderung der Speicherstelle zu erfolgen hat: hexadezimal dezimal binaer ASCII Entspricht die aktuelle Form der Aenderung nicht den Vorstellungen des Nutzers, so kann diese geaendert werden durch eine der folgenden Eingaben: .H, .D, .B oder .A Aenderung des Speicherinhaltes: Eingabe bis 120 Bytes (jedes Byte muss durch Blank voneinander getrennt werden) Steuerzeichen (00H bis 1FH) koennen mit der Zeichen- folge ^x abgespeichert werden, wobei x das jeweilige Steuerzeichen darstellt. keine Aenderung: 4.5. --------------------- | CM adr1 adr2 adr3 | Vergleich des Speicherinhaltes von adr1 --------------------- bis adr2 mit dem Speicherinhalt ab Adresse adr3 byteweise Abweichungen werden mit Adresse und Inhalt angezeigt. 4.6. ------------------------- | SEARCH adr1 adr2 byte | Suchen einer bestimmten Bytefolge ------------------------- byte zwischen den Adressen adr1 und adr2 Die gefundenen Bytes werden mit ihrer Adresse angezeigt byte: - Darstellung als Zeichenkette, z.B. "DUM" - Darstellung hexadezimal, wobei jedes Byte durch Blank getrennt wird, z.B. 54 53 - Anzeige aller Bytes des Bereiches: ? 5. Kommandos zum physischen Lesen/Schreiben von/auf Diskette =============================================================== 5.1. ---------------------- | READGR nr adr nsec | Lesen von n Sektoren ab eines vorgege- ---------------------- benen Aufzeichnungsblockes (Ermittlung durch Kommando GROUP) in den Speicher nr - Nummer des Aufzeichnungsblockes adr - Adresse, an die die Sektoren gelesen werden sollen Fehlt adr, dann gilt 80 hex nsec - Anzahl der zu lesenden Sekto- ren Fehlt nsec, dann gilt 1 Sektor ------------------------ | READGR nr art nsec | Anzeigen von n Sektoren ab eines ------------------------ bestimmten Aufzeichnungsblockes auf dem Bildschirm art - bestimmt die Art der Anzeige XX: Anzeige hexadezimal und ASCII XH: Anzeige nur hexadezimal XA: Anzeige nur ASCII 5.2. ----------------------- | WRITEGR nr adr nsec | Schreiben von n Sektoren ab der ----------------------- Adresse adr auf einen bestimmten Aufzeichnungsblock. Die Parameter sind wie bei READGR zu handhaben. 5.3. ------------------------- | READ trk sec adr nsec | Lesen von n Sektoren an eine ------------------------- Speicheradresse adr trk - Spurnummer sec - Sektornummer adr - Speicheradresse Fehlt adr, dann gilt 80 hex. nsec - Anzahl Sektoren Fehlt nsec, dann gilt 1 Sektor ------------------------- | READ trk sec art nsec | Anzeige von n Sektoren auf dem ------------------------- Bildschirm art - bestimmt die Art der Anzeige XX: Anzeige hexadezimal und ASCII XH: Anzeige nur hexadezimal XA: Anzeige nur ASCII 5.4. -------------------------- | WRITE trk sec adr nsec | Schreiben von n Sektoren ab der -------------------------- angegebenen Speicheradresse auf Diskette trk - Spurnummer sec - Sektornummer adr - Speicheradresse Fehlt adr, dann gilt 80 hex. nsec - Anzahl der Sektoren Fehlt nsec, dann gilt 1 Sektor 6. Kommandos fuer Laufwerke ============================== 6.1. ---------- | TEST | Testprogramm zum Lesen saemtlicher Sektoren ---------- (ausser Systemspuren) - Anzeige der fehlerfreien Sektoren durch * - Anzeige von fehlerhaften Sektoren - Wird innerhalb eines Aufzeichnungsblockes ein fehlerhafter Sektor gefunden, so wird dieser Block mit einer Datei ========.=== belegt, die den R/O- und SYS-Status erhaelt. Die fehlerhafte Stelle der Diskette ist somit vor jedem weiteren Zugriff geschuetzt! - ein Aufzeichnungsblock, der mit solcher Datei belegt ist, wird freigegeben, wenn sich alle Sektoren lesen lassen. - Anzeige einer Pruefsumme --------- | TESTS | TESTS schliesst im Unterschied zu TEST die System- --------- spuren mit ein. 6.2. -------- | STAT | Anzeige des vorhandenen und freien Speicherplatzes -------- fuer alle in POWER angemeldeten Laufwerke Soll STAT auf ein bestimmtes Laufwerk angewendet werden, so muss zusaetzlich lw: angegeben werden. z.B. STAT B: 6.3. ------------- | RESET lw: | Laufwerk lw abmelden ------------- 6.4. -------- | DISK | Anzeige der Diskettenparameter des aktuellen -------- Laufwerkes Wird hinter DISK ein Laufwerk angegeben, so werden die Parameter der Diskette in diesem Laufwerk an- gezeigt, z.B. DISK C: