IMPRINT (IMPRESSUM)
Datenschutz
 
Startseite - Free & Old - asmDoc - asmDoc Details  
 
asmDoc - Details (DE)
Interpretierbare Befehle
 
 
Diese Seite ist auch auf Deutsch vorhanden This Page is also available in english

asmDOC analysiert und interpretiert folgende Assembler Kommandos.

  • INCLUDE
    asmDoc berücksichtigt den Assembler Befehl "INCLUDE". Da der Befehl sowohl mit als auch ohne Anführungszeichen verwendbar ist, wird beides unterstützt.

  • STRUC und ENDS
    asmDoc analysiert automatisch Strukturdefinitionen und legt sie als Tabelle ab. Eine Struktur kann sowohl durch lediglich ein ENDS beendet werden kann, als auch durch den Strukturnamen gefolgt von einem ENDS.

  • COMMENT
    asmDoc ignoriert alle von diesem Kommando erfassten Zeilen.

  • Kommentarzeilen
    asmDoc ignoriert mit ";" eingeleitete Kommentarzeilen weitestgehend. Eine solche Kommentarzeile existiert praktisch nicht.

  • asmDoc Kommentarzeilen
    asmDoc erwartet mit ";*" eingeleitete Kommentarzeilen, die es als Blöcke zusammenfast. Ein Block wird duch Zeilen ohne Kommentar beendet. Enthält die erste unkommentierte Folgezeile eine PROC deklaration oder ein Sprunglabel, so wird der Name der PROZEDUR als Block Kopf verwendet.

iASys - Tools Division, 06. August 2003

 
 


Eigene Kommandos
 
 
Diese Seite ist auch auf Deutsch vorhanden This Page is also available in english
Kommandos sind Teil einer Kommentarzeile und werden durch "@" eingeleitet.
  • @public: Name
    Dieses Kommando muß am Anfang eines Kommentarblocks stehen und dominiert eine eventuell vorhandene PROC deklaration. Der Name des Blocks muß explizit angegeben werden.

  • @return:
    Empfohlener Bezeichner für zurückgelieferte Registerwerte.
    Jede asmDoc Zeile wird als Listenelement behandelt.

  • @expect:
    Empfohlener Bezeichner für erwartete Registerwerte
    Jede asmDoc Zeile wird als Listenelement behandelt.

  • @notes:
    Empfohlener Bezeichner für kurze Bemerkungen die gesondert von der allgemeinen Beschreibung angezeigt werden sollen

  • @see:
    Es ist möglich, hier Namen von Prozeduren oder Strukturen anzugeben.
    Alle Elemente für dieses Kommando werden mit der entsprechenden Seite verlinkt. Die einzellnen Elemente sollten mit einem Komma getrennt werden.

iASys - Tools Division, 06. August 2003

 
 


Kommandozeilen Optionen
 
 
Diese Seite ist auch auf Deutsch vorhanden This Page is also available in english

Kommandozeilen Optionen:

Neben der zu analysierenden Assembler Quelldatei kann man asmDoc noch mit folgenden Optionen starten:

  • -P / -p
    Diese Option steht für "public only". Sie sorgt dafü, dass nur Prozeduren die ein asmDoc @public Kommando besitzen dokumentiert werden.

    Diese Option ist besonders für das Dokumentieren von APIs geeignet, bei dennen die Dokumentation lediglich die API relevanten Informationen enthalten soll, um sie zu veröffentlichen.

    Die Angabe der Quelle einer Prozedur wird bei dieser Option ebenfalls unterdrückt.

Jede Option beginnt mit einem "-" Zeichen.

Beispiel:

asmDocW -p test.asm
iASys - Tools Division, 06. August 2003

 
 


Beispiele
 
 
Diese Seite ist auch auf Deutsch vorhanden This Page is also available in english
Beispiel 001: Basics

00
01
02
03
04
05
06
07
;* Beschreibung der Funktion. Diese Funktion tut rein garnichts
;* @expect:
;* ---
;* @return:
;* EAX, ... = unverändert
doNothing PROC NEAR
ret
ENDP

  • Zeile 00:
    Man kann beliebig viel Zeilen untereinander schreiben, wichtig ist hierbei nur, dass alle Zeilen die zu einer Prozedur gehören mit einem ";*" beginnen, und bis zur PROC Definition keine Zeile ohne ";*" vorkommt.
    Eine Zeile ohne asmDoc Kommentar beendet einen Block.
    Eine Zeile mit asmDoc Kommentar startet einen Block.
    Für geplante Erweiterungen von asmDoc empfielt es sich, den ersten Satz prägnant zu formulieren und mit einem Punkt zu terminieren.
  • Zeile 01:
    In Assembler verwendet man oft Register zur Ansteuerung der angesprungenen Prozedur. Durch diesen Block leitet man eine Liste von Vorbedinungen ein, die eine Prozedur erwartet.
  • Zeile 02:
    Erwartet die Prozedur keine Register so empfielt es sich den Block dennoch zu erstellen und statt der erwarteteten Register 3 Bindestriche zu schreiben.
  • Zeile 03:
    Eine Prozedur verändert Register, Speicher usw. Hiermit erzeugt man eine Liste in der solche Veränderungen stehen.
  • Zeile 04:
    Es ist oft wichtig zu wissen, dass eine Prozedur wirklich kein Register verändert.
  • Zeile 05:
    Der Name der Prozedur oder eines Sprunglabel. In asmDoc werden alle Prozeduren, egal ob mit asmDoc Kommentar oder ohne, dokumentiert sofern sie als PROC definiert wurden. Labels werden nur dokumentiert wenn sie einem asmDoc Kommentar folgen.
  • Zeile 06 - 07:
    Der Inhalt der Prozedur ist asmDoc bislang egal.

iASys - Tools Division, 06. August 2003