home *** CD-ROM | disk | FTP | other *** search
/ The CDPD Public Domain Collection for CDTV 3 / CDPDIII.bin / pd / utilities / monitors / scypmon / scypmon_deutsch.doc < prev    next >
Text File  |  1992-09-29  |  24KB  |  545 lines

  1.  
  2.            Funktionsbeschreibung des Scypmon V1.6 (Update 30.09.92)
  3.            \======================================================/
  4.  
  5. Release:
  6. --------
  7.  
  8. (C) by Jörg Bublath 1989-1992
  9.  
  10. Die Entwicklung dieses Programms hat mich einige Zeit gekostet, und
  11. deshalb hätte ich auch gerne finanziell was davon. Ich persönlich
  12. hasse diese "crippled unregistered versions" und werde dieses Druckmittel
  13. NICHT anwenden um die Sharewaregebühr von (man höre und staune) DM 5,--
  14. einzutreiben, sondern appelliere an die Anständigkeit der Nutzer. Ich
  15. weiss, daß es einen HAUFEN Geld kostet alle Shareware-Programme, die man
  16. besitzt auch wirklich zu bezahlen. Ich würde daher gerne einen Appell an
  17. alle Schreiber von Shareware richten: Ich nenne das das "sharest du mich,
  18. share ich Dich"-Konzept. Das heisst das Autoren anderer Sharewareprogramme
  19. mir ihr Programm unentgeltlich zu Verfügung stellen, sowie ich es dann auch
  20. bei ihnen tue - wer aber selber keine nützlichen Programe schreibt, der ist
  21. hiermit aufgefordert dies zu ändern - oder zu blechen!
  22. Ein eventueller Update-Service wird bei diesem gegenseitigen "sharen"
  23. natürlich nicht erwartet. Von der Shareware-Gebühr ebenfalls verschont
  24. bleiben die, die mit ihren Ideen und Test-Reports im besonderen Maße zur
  25. Verbesserung von Scypmon beigetragen haben.
  26.  
  27. Die Dokumentation (evtl. der Source) und das Programm an sich dürfen ohne
  28. Erlaubnis des Autors nicht modifiziert werden.
  29. Scypmon darf nur vollständig kopiert werden. Folgende Files müssen im
  30. Paket enthalten sein:
  31.  
  32. -ScypmonV1.6
  33. -Scypmon_deutsch.doc (Deutsche Anleitung)
  34. -Scypmon_english.doc (Englische Anleitung)
  35. Zusätzlich: dis.library von Tobias Walter
  36.  
  37. Verwendung in PD-Serien ist nur gestattet, wenn außer Scypmon noch
  38. möglichst viele andere Programme auf der Diskette (min. 80% gefüllt)
  39. sind, und der Preis dieser Disk DM 3,-- nicht übersteigt.
  40.  
  41. Ich danke besonders:
  42. --------------------
  43. Bernhard Möllemann, für viele Bugreports und ein paar nützliche Codefetzen
  44. Tobias Walter, für genauso viele reports,die dis.library und etwas Code
  45. und allen anderen die mit ihren Anregungen viel geholfen haben!
  46. MrScary, für Hilfe bei der englischen Anleitung.
  47.  
  48. Allgemeines:
  49. ------------
  50.  
  51. Der Monitor besitzt einen Full-Screen Editor wahlweise mit/ohne Einfügen,
  52. mit einer vom Bildschirm unabhängigen Command-History (Buffer 1K).
  53. Der Cursor wird mit den Cursor-Tasten oder durch Anklicken mit der Maus
  54. bewegt. Wird dabei über den oberen oder unteren Rand hinausgegangen, wird
  55. der Bildschirm in die entsprechende Richtung gescrollt.
  56. In der Titelzeile wird angezeigt, ob man sich im Insert- oder Overwrite-
  57. Modus (Einfügen, bzw. Überschreiben) befindet. Ist beim Scrolling eine
  58. Ausgabezeile des "m", "i" oder "d" - Befehls auf dem Bildschirm, so wird
  59. die nächste logische Zeile angezeigt. Das Drücken der Cursor-Tasten "hoch"
  60. und "runter" mit "Shift" bewirkt ein Blättern der entsprechenden Ausgaben.
  61.  
  62. Folgende Tasten sind außerdem noch speziell belegt:
  63. HELP (= CTRL-l)         : Bildschirm löschen, Cursor in die linke obere Ecke
  64. Shift + HELP (= CTRL-k) : löscht den Rest der Zeile ab Cursor-Position
  65. Shift + DEL             : Einfügen eines Leerzeichens
  66. Nummernblock:
  67. Shift + 7               : Cursor Home (obere linke Bildschirmecke)
  68. Shift + 1               : Cursor End  (untere linke Bildschirmecke)
  69. Shift + 0               : Umschaltung Insert-Mode/Overwrite-Mode
  70. Shift + .               : Del
  71. F1                      : Jsr-Dissassemble In
  72. Shift-F1                : Umschalten "m" und "d" in Ganzbilschirmanzeige
  73. F2                      : Jsr-Dissassemble Out  (wird später erklärt)
  74. Alt + Cursor Hoch       : Vorhergehender History-Eintrag
  75. Alt + Cursor Unten      : Nachfolgender History-Eintrag
  76.  
  77. Während längere Ausgaben/Wartezeiten:
  78. SPACE                   : Ausgabe anhalten, weiter wieder mit SPACE
  79. CTRL-C                  : Ausgabe abbrechen
  80. Linker Mausknopf        : Niederhalten um Ausgabe anzuhalten
  81.  
  82. Exceptions:
  83. -----------
  84. Alle Exceptions außer #08 (Privilegsverletzung) und den trap #0x - Befehlen
  85. werden vom Monitor abgefangen und mit "exception #xx at xxxxxx" quittiert,
  86. sofern mit "-p" das Patchen der Exception-Vektoren aktiviert ist.
  87. Ausserdem wird eine etwas detailliertre Information über den
  88. abgestuerzten Task ausgegeben (siehe "e" Kommando) und dieser sollte dann
  89. nicht mehr in der Taskliste vorhanden sein.
  90. Sollte der Grund der Exception ein Totalabsturz sein so hilft auch hier
  91. nur ctrl + amiga + amiga !
  92.  
  93. Aufruf:
  94. -------
  95. Aufgerufen wird der Monitor mit "scypmon [-bpdi] [Batchfile]".
  96.  
  97. scypmon [!] [-bdp] [-s <pubscreen>] [-f <fontname> <fontsize>] [batchfile]
  98.  
  99. "-b" bewirkt das der Monitor sich in den Hintergrund startet, d.h. daß
  100.      sein Window nicht aktiv geöffnet wird.
  101.  
  102. "-p" Um Abstuerze auch wirklich abzufangen muss mit dieser Option das
  103.      Patchen der Exceptionvektoren aktiviert werden, geschieht das nicht
  104.      macht das Betriebsystem mit den Gurus was es will.
  105.  
  106. "-d" verwendet (wenn vorhanden) die dis.library zum disassemblieren, damit
  107.      ist dann auch 68030 (spaeter hoeher?) code disassemblierbar. Der
  108.      Assembler bleibt ein nur 68000 Assembler, deshalb werden - auch wegen
  109.      der etwas anderen Syntax - die mit dis.library disassemblierten
  110.      Befehle manchmal nicht assembliert.
  111.  
  112. "-s" Mit 2.0+ können Public-Screen verwendet werden. Mit dieser Option
  113.      kann Scypmon auf jedem beliebigen Public-Screen geöffnet werden.
  114.  
  115. "-f" Zum Einsteller anderer Fonts als der Systemfont in den Preferences.
  116.  
  117. Das Batchfile kann ein mit z.B. "ed" editiertes Textfile sein, daß eine
  118. Befehlsfolge enthält. Dies ist nützlich um bei Programmierung mit absoluten
  119. Programmteilen Graphik- oder Sounddaten in den Speicher zu laden.
  120. z.B.:
  121. {
  122. o 60000 7f000 00
  123. l "graphic.data" 70000
  124. l "sound.data" 60000
  125. l "sinus-tabelle" 7e000
  126. x
  127. }
  128. Dieses File löscht den Bereich von 60000 bis 7f000, lädt anschließend die
  129. 3 Programme in den Speicher und verlässt den Monitor danach sofort wieder.
  130.  
  131. Eine Vorbemerkung zur Speicherverwaltung des Monitors:
  132. Um ein Alloc-Chaos zu verhindern unterstützt er Monitor die Amiga-Dos
  133. AllocMem-Befehle auf eine besondere Weise. Es werden 8 Segmente (0-7)
  134. gespeichert. Diese werden bei doppelter Verwendung oder beim Verlassen
  135. des Monitors wieder freigegeben, somit wird vorgebeugt, daß man wie
  136. z.B. beim C-Mon irgenwann keinen Überblick mehr über seinen Speicher hat,
  137. und einen Reset machen muß um ihn zu säubern.
  138.  
  139. Menüs
  140. -----
  141. Die Optionen "-p" und "-d" koennen auch noch während der Monitor läuft
  142. über Menüs eingestellt werden.
  143. Die Hilfseite ist nur eine Syntaxzusammenfassung der Befehle und kein
  144. Ersatz für diese Anleitung!
  145.  
  146.  
  147. Die Befehle (in alphabethischer Reihenfolge):
  148. ---------------------------------------------
  149.  
  150. Alle Zahlen (auch beim Assemble/Dissassemble) müssen Hexadezimal eingegeben
  151. werden (ein vorangestelltes "$" ist nicht notwendig)!
  152.  
  153. [ ]    : Angaben in Eckigen Klammern müssen nicht angegeben werden.
  154. ( )    : Angaben in runden Klammern müssen angegeben werden.
  155. start  : Eine Hexzahl, die die Startadresse einer Operation angibt.
  156. stop   : Eine Hexzahl, die die Endadresse einer Operation angibt.
  157. ziel   : Eine Hexzahl, die die Startadresse eines Ziels angibt.
  158.  -> fuer start,stop und ziel können auch Variablen angegeben werden.
  159. name   : Ein ASCII-String.
  160. segment: Ein Speichersegment zwischen 0 und 7.
  161.  
  162. Für Hexadressen können meist auch Variablen (^(a-z)) verwendet werden.
  163. ----------------------------------------------------------------------------
  164. [?] (expression)                        : Calculate
  165.  
  166. Der Ausdruck wird berechnet und dezimal,hexadezimal,binär und als
  167. 4 Zeichen ASCII-String ausgegeben.
  168. Innerhalb des Ausdrucks müssen Hex-Zahlen mit "$",Dez-Zahlen mit "#"
  169. oder ohne Bezeichener, Binärzahlen mit einem "%" und maximal 4 ASCII-
  170. Zeichen mit "<str>" oder '<str>' gekennzeichnet werden. Ausserdem kann
  171. mit "&(Hexadresse)" der Inhalt einer Adresse und mit "^(a-z)" eine
  172. Uservariable und mit folgende Systemvariablen in die Berechnung einbezogen
  173. werden:
  174. ^s    = Startadresse des letzen Load-Befehls
  175. ^e    = Endadresse des letzen Load-Befehls
  176. ^S0-7 = Startadresse von den Segmenten 0-7
  177. ^L0-7 = Laenge von den Segmenten 0-7
  178.  
  179. Erlaubte Rechenarten sind: "+" , "-" , "*" und "/". Gesetze Klammern
  180. werden berücksichtigt - es gilt Punkt vor Strich. Die Berechnung erfolgt
  181. nur als Integer, evtl ergebene Kommastellen werden abgeschnitten.
  182.  
  183. Bsp.:  ? $1000-(#100+%010)*2
  184. ----------------------------------------------------------------------------
  185. ^(a-z)=(expression)                     : Variablen-Zuweisung
  186.  
  187. Einer der 26 User-Variablen kann ein beliebiger Ausdruck (siehe "?")
  188. zugewiesen werden.
  189. Vorsicht: Die Variablen ^s und ^e werden vom System zur Speicherung der
  190. Start- und Endadresse beim Laden verwendet.
  191.  
  192. Bsp.: ^a=^a+$20-(1+4)*5
  193. ----------------------------------------------------------------------------
  194. <b (BlockNr) (start) [anzahl] [!]       : Block Load
  195. >b (BlockNr) (start) [anzahl]           : Block Save
  196.  
  197. Lädt/Speichert ab (BlockNr) (anzahl) Bytes in den Speicher ab (start).
  198. Wird keine Anzahl angegeben werden $200 Bytes = 1 Sektor geladen/gespeichert.
  199. Als Device wird die mit "V" eingestellte Device verwendet.
  200. Vorsicht: Alle Angaben müssen Hexadezimal gemacht werden !
  201. Soll etwas in schon vom Dos belegten Speicher geladen werden, so muß die
  202. Sicherheitsabfrage mit "!" übergangen werden.
  203.  
  204. Bsp.: <b 1a2 70000
  205. ----------------------------------------------------------------------------
  206. <t (tr) (hd) (sc) (start) [anzahl] [!]  : Track Load
  207. >t (tr) (hd) (sc) (start) [anzahl]      : Track Save
  208.  
  209. Lädt/Speichert ab track,head,sector in den Speicher ab (start). Es werden
  210. (anzahl) (Default: $1600 Bytes = 1 Seite eines Tracks) Bytes von Diskette
  211. geladen/auf Diskette gespeichert.
  212. Als Device wird die mit "V" eingestellte Device verwendet.
  213. Vorsicht: Alle Angaben müssen Hexadezimal gemacht werden !
  214. "!"-Option wie bei "<b".
  215.  
  216. Bsp.: <t 0a 01 06 70000
  217. ----------------------------------------------------------------------------
  218. a (start)                               : Assemble
  219.  
  220. Es wird die angegebene Adresse mit einem "," davor ausgegeben und der Cursor
  221. auf die richtige Tabulator Position gesetzt, damit der Assembler den Befehl
  222. erkennt. Statt diesem Befehl kann auch der "d"-Befehl mit überschreiben
  223. verwendet werden.
  224.  
  225. Bsp.: a 70000
  226. ----------------------------------------------------------------------------
  227. A (segment) (start) (len)               : Allocate Absolute
  228.  
  229. Der Exec-Befehl AllocAbs (-204) wird durchgeführt. Vor dem Allocieren
  230. werden unter diesem Segment belegte Daten freigeben.
  231.  
  232. Bsp.: A 0 70000 1000
  233. ----------------------------------------------------------------------------
  234. A (segment) (len)                       : Allocate Memory
  235.  
  236. Bei Nichtangabe einer festen Adresse wird AllocMem (-198) durchgeführt,
  237. sonst wie AllocAbs
  238.  
  239. Bsp.: A 0 1000
  240. ----------------------------------------------------------------------------
  241. b (start)                               : Boot Checksumm
  242.  
  243. Berechnet die Checksumme des Bootblocks ($0400 Bytes !) und fügt diese ein.
  244.  
  245. Bsp.: b 70000
  246. ----------------------------------------------------------------------------
  247. B (stop)                                : Breakpoint
  248.  
  249. Bei Adresse (stop) wird ein Breakpoint gesetzt danach wird bei dem im
  250. "r"-Befehl eingestellten PC mit der Programmausführung begonnen.
  251. Nach dem Breakpoint wird dieser wieder gelöscht und die Register ausgegeben.
  252.  
  253. Bsp.: B 70200
  254. ----------------------------------------------------------------------------
  255. c (start) (stop) (ziel)                 : Compare
  256.  
  257. Der Bereich (start) bis (stop) wird mit (ziel) verglichen und alle
  258. unterschiedlichen Bytes werden ausgegeben.
  259.  
  260. Bsp.: c 70000 71000 72000
  261. ----------------------------------------------------------------------------
  262. C (start)                               : Calc Block CheckSumm
  263.  
  264. Berechnet die Checksumme eines Diskblocks und fügt diesen an der
  265. entsprechenden Stelle ein.
  266.  
  267. Bsp.: C 70000
  268. ----------------------------------------------------------------------------
  269. d (start) [stop]                        : Dissassemble
  270.  
  271. Der Angegebene Bereich wird dissassembliert. Bei der Ausgabe wird ein ","
  272. vor jede Zeile geschrieben. Dies ist der Anhaltspunkt für die
  273. Scrolling/Blättern-Funktion und für Assemble (es kann durch überschreiben
  274. assembliert werden).
  275.  
  276. Bsp.: d 70000 70020
  277. ----------------------------------------------------------------------------
  278. D [name]                                : Directory
  279.  
  280. Wird kein Name angegeben so wird das Directory des aktuellen Pfades, sonst
  281. das unter dem angegebenen Pfad ausgegeben.
  282.  
  283. Bsp.: D df0:c
  284. ----------------------------------------------------------------------------
  285. DC [name]                               : Directory Change
  286.  
  287. Der aktuelle Pfad wird geändert.
  288.  
  289. BSP.:DC df0:c
  290. ----------------------------------------------------------------------------
  291. e "(taskname)"                          : Examine Task
  292. e (taskadresse)
  293.  
  294. Der Angegebene Task wird gesucht und wird mit Name, Adresse, Priorität,
  295. Signalen und Stackbelegungen (evtl: CLI-Kommando) ausgegeben.
  296.  
  297. BSP.:e "Scypmon 1.4"
  298. ----------------------------------------------------------------------------
  299. f (start) (stop) (w1) [w2...] [!]       : Find
  300.  
  301. Dieser Befehl sucht einen Ausdruck der sich aus Hexnibbles, "*" oder Strings
  302. zusammensetzt. Nibbles die durch den Joker "*" ersetzt sind, werden als egal
  303. angesehen. Folgt am Schluß noch ein "!" so wird ein Not-Find durchgeführt.
  304. (Wird in einem Bereich nach "00 !" gesucht werden alle Stellen ausgegeben
  305. an denen keine 00 steht).
  306.  
  307. Bsp.: f 70000 80000 01 "hello" 0* 4a3b "xx" 00
  308. ----------------------------------------------------------------------------
  309. fd (start) (stop) (w1) [w2...] [!]      : Find and Disassemle
  310.  
  311. Wie der normale Find-Befehl nur werden die gefundenen Stellen (falls sie
  312. sich an geraden Adressen befinden) disassembliert - dann wird auf eine
  313. Taste gewartet. Wird hier 'ESC' gedrückt so wird der Suchvorgang abge-
  314. brochen, ansonsten wird weitergesucht und evtl. die nächste Zeile
  315. disassembliert. Wird hierbei nur nach Befehlen mit bestimmten nachfolgenden
  316. Argumenten gesucht, dann muß die entsprechende Anzahl von Jokern ('*')
  317. vorangestellt werden, um eine sinnvolle Ausgabe zu erhalten.
  318.  
  319. Bsp.: fd 70000 80000 **** 00dff180
  320. ----------------------------------------------------------------------------
  321. fr (start) (stop) (ziel)                : Find Relative
  322.  
  323. Sucht von (start) bis (stop) nach einem Wort, daß Relativ auf (ziel) zeigt.
  324. Dieses kann sich im Bereich von (ziel)-$8000 bis (ziel)+$8000 befinden.
  325. Nützlich um Branches oder xxxx(pc)-Adressierungsarten zu finden. Nützt
  326. nicht bei bxx.s !
  327.  
  328. Bsp.: fr 70000 72000 71000
  329. ----------------------------------------------------------------------------
  330. F (segment)                             : Free Memory
  331.  
  332. Das angegeben Segment wird mit FreeMem (-210) oder UnLoadSeg freigegeben.
  333.  
  334. Bsp.: F 0
  335. ----------------------------------------------------------------------------
  336. g (ziel)                                : Goto
  337.  
  338. Die Programmausführung wird bei der angegebenen Adresse unter Verwendung der
  339. bei "r" angegebenen Register und Stacks fortgesetzt und kehrt nach einem
  340. "rts" in den Monitor zurück.
  341.  
  342. Bsp.: g 70000
  343. ----------------------------------------------------------------------------
  344. h                                       : Show History
  345.  
  346. Die Command-History wird aufgelistet.
  347.  
  348. Bsp.: h
  349. ----------------------------------------------------------------------------
  350. i (start) [stop]                        : ASCII Dump
  351.  
  352. Der angegebene Bereich wird als ASCII-Dump ausgegeben. Scrolling und
  353. Blättern möglich (als Markierung wird ";" verwendet).
  354.  
  355. Bsp.: i 70000 70020
  356. ----------------------------------------------------------------------------
  357. l ["](name)["] (start) [!]              : Load absolute File
  358.  
  359. Das angegebene File wird an die angegebene Adresse geladen. Mit Hilfe des
  360. "M"-Befehls wird geschaut wieviele Bytes freier Speicher verfügbar sind,
  361. und nur soviele geladen. Soll von DOS belegeter Speicher überladen werden,
  362. dann kann diese Kontrolle mit "!" ausgeschaltet werden.
  363. Start- und Endadresse werden hierbei zur Weiterverwendung (besonders im
  364. Batch-Betrieb) in den Variablen ^s und ^e abgespeichert.
  365.  
  366. Bsp.: l "program.obj" 70000
  367. ----------------------------------------------------------------------------
  368. ld ["](name)["] (segment)               : Load Dos-File
  369.  
  370. Das File wird mit LoadSeg geladen und der belegte Speicher in dem
  371. angegebenen Segment gespeichert. Sollte dieses Segment bereits auf einen
  372. Speicher zeigen, so wird dieser vorher freigegeben.
  373.  
  374. Bsp.: ld "dir" 0
  375. ----------------------------------------------------------------------------
  376. m (start) [stop]                        : Memory Dump
  377.  
  378. Der angegebene Bereich wird als Hex-Dump ausgegeben. Jede Zeile wird durch
  379.  ":" markiert, wodruch überschreiben und Scrolling/Blättern möglich ist.
  380.  
  381. Bsp.: m 70000 70020
  382. ----------------------------------------------------------------------------
  383. M (start)                               : Show Free Memory
  384.  
  385. Beginnend ab der angegebenen Adresse wird nachgeschaut wieviel freie
  386. Bytes, die von DOS nicht belegt sind, dort noch verfügbar sind.
  387.  
  388. Bsp.: M 30000
  389. ----------------------------------------------------------------------------
  390. o (start) (stop) (w1) [w2..]            : Occupy
  391.  
  392. Der Bereich (start) bis (stop) wird mit den angegebenen Werten gefüllt.
  393.  
  394. Bsp.: o 70000 71000 01 23 45
  395. ----------------------------------------------------------------------------
  396. O [name]                                : Set Output Device
  397.  
  398. Eingabe des Device/Filenamens über die die Ausgabe beim "p"-Befehl läuft.
  399. Wenn kein Name angegeben wird, so wird die aktuelle Output-Device ausgegeben.
  400. (Default: prt:)
  401. Das Outputfile wird beim ersten Verwenden des p-Befehls geöffnet und erst
  402. beim Verlassen des Monitors oder durch Definition eines neuen Ausgabe-Files
  403. wieder geschlossen.
  404.  
  405. Bsp.: O df0:testfile
  406. ----------------------------------------------------------------------------
  407. p (beliebiger Befehl)                   : Print using Output Device
  408.  
  409. Bei jedem Befehl, bei dem ein "p" dem eigentlichen Befehl vorangeht, erfolgt
  410. die Ausgabe nicht nur auf dem Bildschirm, sondern auch über die eingestellte
  411. Output-Device (z.B. Drucker)
  412.  
  413. Bsp.: pd 70000 70200
  414. ----------------------------------------------------------------------------
  415. P (start)                               : Print Text
  416.  
  417. Dieser Befehl kann dazu verwendet werden einen im Speicher stehenden Text
  418. auf dem Bildschirm auszugeben. Mit Space kann die Ausgabe angehalten und
  419. mit CTRL-C gestoppt werden. Der Text sollte mit $00 abgeschlossen sein.
  420.  
  421. Bsp.: P 70000
  422. ----------------------------------------------------------------------------
  423. r                                       : Register
  424.  
  425. Ausgabe der Register (werden beim "Goto" Befehl oder bei Trace und
  426. Breakpoints verwendet. Die Register können durch Überschreiben geändert
  427. werden.
  428.  
  429. Bsp.: r
  430. ----------------------------------------------------------------------------
  431. s ["](name)["] (start) (stop)           : Save absolute File
  432.  
  433. Der angegebene Speicherbereich wird abgespeichert.
  434.  
  435. Bsp.: s "objectcode" 70000 72000
  436. ----------------------------------------------------------------------------
  437. S [segment]                             : Segment List
  438.  
  439. Das angegebene Segment, bzw. die gesamte Segmentliste wird ausgegeben.
  440. Ist bei der Ausgabe eines Segments dieses der Zeiger auf ein geladenes
  441. Amiga-Dos File, so wird die Segment-Liste des Amiga-Dos Files angezeigt.
  442.  
  443. Bsp.: S 0
  444. ----------------------------------------------------------------------------
  445. t (start) (stop) (ziel)                 : Transfer
  446.  
  447. Der Bereich (start) bis (stop) wird nach (ziel) verschoben.
  448.  
  449. Bsp.: t 70000 71000 71000
  450. ----------------------------------------------------------------------------
  451. T [start]                               : Trace
  452.  
  453. Bei Adresse (start) oder bei Nichtangabe beim eingestellten PC wird ein
  454. Befehl disassembliert und angezeigt. Durch Druck auf bestimmte Tasten
  455. werden die Trace-Aktionen bestimmt:
  456.         return: Den Befehl ausführen und den nächsten anzeigen
  457.         x:      Trace-Modus verlassen
  458.         r:      Register anzeigen
  459.         n:      Es wird ein Breakpoint einen Befehl weiter gesetzt und
  460.                 die Ausführung erst dort wieder gestoppt. Nützlich für
  461.                 "dbf"-Schleifen u.Ä., damit man die Schleife nicht x-mal
  462.                 "durchtracen" muß.
  463.         j:      Der nächste Befehl wird ausgeführt, danach wird ein Langwort
  464.                 vom Stack gelesen und an diese Adresse ein Breakpoint gesetzt.
  465.                 Effekt: Ist der Aktuelle Befehl ein jsr/bsr so wird erst nach
  466.                 Ausführung der ganzen Unterroutine wieder in den Trace-Mode
  467.                 zurückgekehrt, ansonsten nach dem nächsten rts. Achtung:
  468.                 Sollte nur so angewendet werden, wenn man sich sicher sein
  469.                 kann, daß nichts anderes auf dem Stack liegt als die
  470.                 Rücksprungadresse, sont gibt's schnell einen Absturz!
  471.         g:      Die Befehlsausführung wird am aktuellen PC fortgesetzt
  472.                 und kehrt nach dem nächsten rts in die Monitor zurück.
  473.  
  474. Bsp.: T 70000
  475. ----------------------------------------------------------------------------
  476. V <devicename>                          : Device
  477.  
  478. Ändert die Device der Track-Befehle auf die angegebene Device (Default: df0).
  479.  
  480. Bsp.: V df0
  481. ----------------------------------------------------------------------------
  482. w (start) ["](name)["]                  : Write ASCII
  483.  
  484. Der angegebene String wird ab (start) als ASCII-Code im Speicher abgelegt.
  485.  
  486. Bsp.: w 70000 "hello world"
  487. ----------------------------------------------------------------------------
  488. x                                       : Exit
  489.  
  490. Verläßt den Scypmon. Belegter Speicher durch "A" oder "ld" wird wieder
  491. freigegeben.
  492.  
  493. Bsp.: x
  494. ----------------------------------------------------------------------------
  495.  
  496. Jsr-Disassemble
  497. ---------------
  498.  
  499. Diese Option erleichtert das Auseinandernehmen von (besonders C-)Programmen.
  500. Beim Drücken der F1-Taste wird der Assembler-Ausdruck, der in der aktuellen
  501. Cursorzeile steht, ausgewertet (und zwar der Source-Teil), dann wird die
  502. Adresse der aktuellen Zeile auf einen 16 Einträge fassenden Ringpuffer
  503. abgelegt. Schließlich wird ab der Adresse, die der Ausdruck ergab, neu
  504. disassembliert. Folgende Ausdrücke werden anhand der gespeicherten Register
  505. berechnet: $xxxx,$xxxx(pc),$xx(ax),$xx(ax,dx),$xx(ax,ax).
  506. Sollte es sich bei dem Aufrufenden Befehl nicht um einen jsr,jmp oder branch
  507. Befehl handeln, erfolgt die Ausgabe mit dem "m"-Befehl.
  508. Drueckt man die F1-Taste waehrend man in einer "m"-Zeile steht so wird
  509. die Adresse unter dem Cursor, also die naechsten 8 Digits als Long-Adress,
  510. zum Aufruf eines erneuten "m" verwendet.
  511. Auf allen anderen Zeilen bewirkt F1, das ab Cursor eine Hexadresse
  512. eingelesen und diese mit "m" angezeigt. (Achtung: Mit F2 gehts hierbei
  513. NICHT wieder zurück).
  514. Beim Drücken der F2-Taste wird dieser Vorgang wieder rückgängig gemacht.
  515. Der "Stack" faßt 16 Enträge. Beim 17ten Eintrag wird der 1ste wieder über-
  516. schrieben. Man kann also sooft man will "F1" drücken, aber nur 16-mal "F2".
  517. Sollte man mit der Auswahl ob "m" oder "d"-Anzeige nicht zufrieden sein,
  518. kann mit Shift-F1 umgeschaltet werden.
  519.  
  520. Verbesserungen seit V1.5:
  521. -------------------------
  522.  
  523. Window! Sizable! Fonts! Public-Screen! Noch kompatibler! Besseres
  524. Trackloading....
  525.  
  526. Final Remarks
  527. -------------
  528.  
  529. Beim Testen wurden zwar keine Fehler mehr festgestellt, aber die eine
  530. oder andere Bug bleibt immer noch drin, deshalb bin ich für Anregungen
  531. und Verbesserungen immer aufgeschlossen.
  532. Also, wenn ein Fehler auftritt, eine Disk inklusive Rückporto und genauer
  533. Fehlerbeschreibung/Anregung an nachstehende Adresse und Sie erhalten
  534. sobald möglich die neuste Version:
  535.  
  536. Jörg Bublath
  537. Holzheimerstr. 4, E07
  538. W-8390 Passau
  539. Germany
  540.  
  541. Unter Email bin ich unter
  542. "bublath@kirk.fmi.uni-passau.de" oder
  543. "bublath@eva.fmi.uni-passau.de" oder
  544. "rzbublat@ibm.rz.uni-passau.de" zu erreichen.
  545.