📄 as_de.html
字号:
eine Reihe von Versionen zur Verfügung, die etwas mehr als den
Real-Mode eines Intel-Prozessors ausnutzen können. Diese sind in
ihrer Benutzung soweit als möglich kompatibel gehalten zur
DOS-Version, es ergeben sich natürlich bisweilen Unterschiede in
der Installation und der Einbindung in die jeweilige
Betriebssystemumgebung. Abschnitte in dieser Anleitung, die nur
für eine bestimmte Version von AS gelten, sind mit einer
entsprechenden Randbemerkung (an diesem Absatz für die
DOS-Version) gekennzeichnet. Im einzelnen existieren die folgenden,
weiteren Versionen (die als getrennte Pakete distributiert werden):
<P>
Für den Fall, daß man bei der Übersetzung
großer, komplexer Programme unter DOS Speicherplatzprobleme
bekommt, existiert eine DOS-Version, die mittels eines DOS-Extenders
im Protected Mode abläuft und so das komplette Extended Memory
eines ATs nutzen kann. Die Übersetzung wird durch den Extender
merklich langsamer, aber immerhin läuft es dann noch...
<P>
Für Freunde von IBM's Betriebssystem OS/2 gibt es eine native
OS/2-Version von AS. Seit 1.41r8 ist diese nur eine volle 32-bittige
OS/2-Anwendung, was natürlich zur Folge hat, daß OS/2 2.x
und ein 80386-Prozessor jetzt zwingend erforderlich sind.
<P>
Den reinen PC-Bereich verläßt man mit der C-Version von
AS, die so gehalten wurde, daß sie auf einer möglichst
großen Zahl von UNIX-artigen Systemen (dazu zählt aber
auch OS/2 mit dem emx-Compiler) ohne großartige Verrenkungen
übersetzbar ist. Im Gegensatz zu den vorherigen Versionen (die
auf den auf Anfrage erhältlichen Pascal-Sourcen basieren) wird
die C-Version im Quellcode ausgeliefert, d.h. man muß sich
mittels eines Compilers selbst die Binaries erzeugen. Dies ist aber
(für mich) der eindeutig einfachere Weg, als ein Dutzend
Binaries für Maschinen vorzukompilieren, auf die ich auch nicht
immer Zugriff habe...
<P>
Wer die bisherige Aufzählung liest, wird feststellen, daß
das meistverkaufte Betriebssystem der Welt aus Redmont in dieser
Aufzählung fehlt. Wer mich persönlich kennt, weiß,
daß ich Windows (egal, ob 3.X, 95 oder NT)<EM> nicht</EM>
für das Ei des Kolumbus halte. Kurzgesagt, ich bin ein
,,Windows-Hasser''. Auch wenn eine große Zahl an Leuten diese
Einstellung für überholt bis lächerlich erachten und
mir jetzt vorhalten, ich würde hier einem großen Teil
potentieller Anwender AS vorenthalten, so werden sie sich doch damit
abfinden müssen: Ich treibe die Entwicklung an AS primär
weiter, weil sie mir<EM> Spaß</EM> macht; AS ist ein
nicht-kommerzielles Projekt und ich nehme mir deswegen die Freiheit,
nicht auf potentielle Marktanteile zu schielen. Ich suche mir die
Plattformen aus, auf denen das Programmieren<EM> mir</EM> Spaß
macht, und Programmieren unter Windows macht mir definitiv keinen
Spaß! Ich habe übrigens durchaus schon einmal
Windows-Programme schreiben müssen, es ist also nicht so,
daß ich hier ohne Erfahrung etwas daherreden würde. Sofern
irgendjemand AS in diese Richtung portieren will, werde ich mich ihm
nicht in den Weg stellen, über die Sourcen hinaus hat er aber
nicht viel Hilfe von mir zu erwarten (und muß sich selber mit
den Anfragen der Qualität herumschlagen, warum AS denn jetzt
nicht mehr läuft, nachdem man den Brummi-CAD 18.53-Eintrag in
der Registry von Groß- in Kleinbuchstaben geändert
hat...).
<P>
<H1><A NAME="sect_2_">2. Benutzung des Assemblers</A></H1>
<P>
<BLOCKQUOTE>
<DIV ALIGN=LEFT>
<I> Scotty: Captain, we din' can reference it!<BR>
Kirk: Analysis, Mr. Spock?<BR>
Spock: Captain, it doesn't appear in the symbol table.<BR>
Kirk: Then it's of external origin?<BR>
Spock: Affirmative.<BR>
Kirk: Mr. Sulu, go to pass two.<BR>
Sulu: Aye aye, sir, going to pass two.<BR>
</I>
</DIV>
</BLOCKQUOTE>
<P>
<H2><A NAME="sect_2_1_">2.1. Hardware-Anforderungen</A></H2>
<P>
Je nach Version von AS variieren die Hardware-Anforderungen deutlich:
<P>
Die DOS-Version läuft prinzipiell auf allen IBM-kompatiblen PCs,
angefangen vom PC/XT mit vierkommawenig Megaherz bis hin zum Pentium.
Wie bei vielen anderen Programmen aber auch, steigt der Lustgewinn
mit der Hardware-Ausstattung. So dürfte ein XT-Benutzer ohne
Festplatte erhebliche Probleme haben, die über 500 Kbyte
große Overlay-Datei von AS auf einer Diskette
unterzubringen...eine Festplatte sollte der PC also schon haben,
allein um vernünftige Ladezeiten zu erreichen. Im
Hauptspeicherbedarf ist AS recht genügsam: Das Programm selber
belegt knapp 300 Kbyte Hauptspeicher, AS sollte also ab einer
Hauptspeichergröße von 512 Kbyte ausführbar sein.
<P>
Die Version von AS für das DOS-Protected-Mode-Interface (DPMI)
benötigt zum Ablaufen mindestens einen 80286-Prozessor und 1
Mbyte freies extended memory. Daher stellen 2 Mbyte Hauptspeicher das
absolute Minimum dar, wenn man im XMS sonst keine anderen Spielereien
(Platten-Cache, RAM-Disk, hochgeladenes DOS) installiert hat, sonst
entsprechend mehr. Falls man die DPMI-Version in einer DOS-Box von
OS/2 laufen läßt, so sollte DPMI auch in den
DOS-Einstellungen der Box erlaubt sein (Einstellung<TT> An</TT>
oder<TT> Auto</TT>) und der Box eine entsprechende Menge von
XMS-Speicher zugeordnet sein. Die virtuelle Speicherverwaltung von
OS/2 sorgt hier übrigens dafür, daß man sich keine
Gedanken machen muß, ob der eingestellte Speicher auch real
verfügbar ist.
<P>
Die Hardware-Anforderungen der OS/2-Version ergeben sich
weitestgehend durch die des darunterliegenden Betriebssytemes, d.h.
mindestens ein 80386SX-Prozessor, 8 Mbyte RAM (bzw. 4 ohne grafische
Benutzeroberfläche) sowie ca 100..150 Mbyte Platz auf der
Festplatte. Da AS2 nur eine 16-Bit-Applikation ist, sollte er
theoretisch auch auf älteren OS/2-Versionen (und damit
80286-Prozessoren) lauffähig sein; ausprobieren konnte ich dies
aber nicht.
<P>
Die C-Version von AS wird im Quellcode ausgeliefert und erfordert
damit ein Unix- oder OS/2-System mit einem C-Compiler. Der Compiler
muß dem ANSI-Standard genügen (GNU-C erfüllt diese
Bedingung zum Beispiel). Ob Ihr UNIX-System bereits getestet und die
nötigen Definitionen vorgenommen wurden, können Sie der<TT>
README</TT>-Datei entnehmen. Als zur Kompilation benötigten
Plattenplatz sollten Sie ca. 15 Mbyte veranschlagen; dieser Wert (und
der nach der Übersetzung noch benötigte Platz für die
übersetzten Programme) variiert allerdings stark von System zu
System, so daß man diesen Wert nur als Richtschnur betrachten
sollte.
<P>
<H2><A NAME="sect_2_2_">2.2. Lieferumfang</A></H2>
<P>
Prinzipiell erhält man AS in einer von zwei Formen: Als<EM>
Binärdistribution</EM> oder<EM> Quellcodedistribution</EM>. Im
Falle einer Binärdistribution bekommt man AS mit den
zugehörigen Dienstprogrammen und Hilfsdateien fertig
übersetzt, so daß man nach dem Auspacken des Archivs an
die gewünschte Stelle direkt loslegen kann.
Binärdistributionen werden für verbreitete Plattformen
gemacht, bei denen die Mehrzahl der Benutzer keinen Compiler hat oder
die Übersetzung trickreich ist (im Moment sind dies DOS und
OS/2). Eine Quellcodedistribution enthält im Gegensatz den
kompletten Satz an C-Quellen, um AS zu generieren; es ist letzten
Endes ein Schnappschuß des Quellenbaumes, an dem ich AS
weiterentwickele. Die Generierung von AS aus dem Quellcode und dessen
Struktur ist näher in Anhang <A HREF="#ref_ChapSource">I</A>
beschrieben, weshalb an dieser Stelle nur auf den Umfang und die
Installation einer Binärdistribution beschrieben wird:
<P>
Das Archiv des Lieferumfangs gliedert sich in einige
Unterverzeichnisse, so daß man nach dem Auspacken sofort einen
Verzeichnisbaum erhält. Die Verzeichnisse enthalten im
einzelnen:
<UL>
<LI> <TT> BIN</TT>: ausführbare Programme, Text-Resourcen;</LI>
<LI> <TT> INCLUDE</TT>: Include-Dateien für Assemblerprogramme, z.B.
Registerdefinitionen oder Standardmakros;</LI>
<LI> <TT> MAN</TT>: Kurzreferenzen für die Programme im
Unix-Man-Format;</LI>
<LI> <TT> DOC</TT>: diese Dokumentation in verschiedenen Formaten;</LI>
<LI> <TT> LIB</TT>: vorgesehen für Initialisierungsdateien.</LI>
</UL>
Eine Auflistung der Dateien, die in jeder Binärdistribution
enthalten sind, findet sich in den Tabellen <A
HREF="#ref_TabCommonPackageList1">2.1</A> bis <A
HREF="#ref_TabCommonPackageList3">2.3</A>. Falls eine der in diesen
(oder den folgenden) Tabellen aufgeführten Dateien fehlt, hat
jemand (im Zweifelsfalle ich) beim Kopieren geschlafen...
<P>
<CENTER>
<P><CENTER><TABLE SUMMARY="No Summary" BORDER=1 CELLPADDING=5>
<TR ALIGN=LEFT>
<TH VALIGN=TOP NOWRAP ALIGN=LEFT>Datei</TH>
<TH VALIGN=TOP NOWRAP ALIGN=LEFT>Funktion</TH>
</TR>
<TR ALIGN=LEFT>
<TD VALIGN=TOP NOWRAP ALIGN=LEFT><B> Verzeichnis BIN</B></TD>
<TD VALIGN=TOP NOWRAP ALIGN=LEFT></TD>
</TR>
<TR ALIGN=LEFT>
<TH VALIGN=TOP NOWRAP ALIGN=LEFT>AS.EXE<BR>
PLIST.EXE<BR>
PBIND.EXE<BR>
P2HEX.EXE<BR>
P2BIN.EXE<BR>
AS.MSG<BR>
PLIST.MSG<BR>
PBIND.MSG<BR>
P2HEX.MSG<BR>
P2BIN.MSG<BR>
TOOLS.MSG<BR>
CMDARG.MSG<BR>
IOERRS.MSG</TH>
<TH VALIGN=TOP NOWRAP ALIGN=LEFT>Programmdatei Assembler<BR>
listet Inhalt von Codedateien auf<BR>
kopiert Codedateien zusammen<BR>
wandelt Code- in Hexdateien um<BR>
wandelt Code- in Binärdateien um<BR>
Textresourcen zu AS<BR>
Textresourcen zu PLIST<BR>
Textresourcen zu PBIND<BR>
Textresourcen zu P2HEX<BR>
Textresourcen zu P2BIN<BR>
gemeinsame Textresourcen zu den Tools<BR>
gemeinsame Textresourcen zu allen Programmen<BR>
</TH>
</TR>
<TR ALIGN=LEFT>
<TD VALIGN=TOP NOWRAP ALIGN=LEFT><B> Verzeichnis DOC</B></TD>
<TD VALIGN=TOP NOWRAP ALIGN=LEFT></TD>
</TR>
<TR ALIGN=LEFT>
<TH VALIGN=TOP NOWRAP ALIGN=LEFT>AS_DE.DOC<BR>
AS_DE.HTML<BR>
AS_DE.TEX<BR>
AS_EN.DOC<BR>
AS_EN.HTML<BR>
AS_EN.TEX</TH>
<TH VALIGN=TOP NOWRAP ALIGN=LEFT>deutsche Dokumentation, ASCII-Format<BR>
deutsche Dokumentation, HTML-Format<BR>
deutsche Dokumentation, LaTeX-Format<BR>
englische Dokumentation, ASCII-Format<BR>
englische Dokumentation, HTML-Format<BR>
englische Dokumentation, LaTeX-Format</TH>
</TR>
<TR ALIGN=LEFT>
<TD VALIGN=TOP NOWRAP ALIGN=LEFT><B> Verzeichnis INCLUDE</B></TD>
<TD VALIGN=TOP NOWRAP ALIGN=LEFT></TD>
</TR>
<TR ALIGN=LEFT>
<TD VALIGN=TOP NOWRAP ALIGN=LEFT>BITFUNCS.INC<BR>
CTYPE.INC<BR>
<BR>
80C50X.INC<BR>
80C552.INC<BR>
H8_3048.INC<BR>
REG166.INC<BR>
REG251.INC<BR>
REG29K.INC<BR>
REG53X.INC<BR>
REG683XX.INC<BR>
REG7000.INC<BR>
REG78K0.INC<BR>
REG96.INC<BR>
REGACE.INC</TD>
<TD VALIGN=TOP NOWRAP ALIGN=LEFT>Funktionen zur Bitmanipulation<BR>
Funktionen zur Klassifizierung von<BR>
Zeichen<BR>
Registeradressen SAB C50x<BR>
Registeradressen 80C552<BR>
Registeradressen H8/3048<BR>
Adressen & Befehlsmakros 80C166/167<BR>
Adressen & Bits 80C251<BR>
Peripherieadressen AMD 2924x<BR>
Registeradressen H8/53x<BR>
Registeradressen 68332/68340/68360<BR>
Registeradressen TMS70Cxx<BR>
Registeradressen 78K0<BR>
Registeradressen MCS-96<BR>
Registeradressen ACE</TD>
</TR>
</TABLE></CENTER>
</CENTER>
<P><CENTER>Tabelle 2.1: Standardumfang einer Binärdistribution - Teil 1<A
NAME="ref_TabCommonPackageList1"></A>
</CENTER><P>
<P>
<CENTER>
<P><CENTER><TABLE SUMMARY="No Summary" BORDER=1 CELLPADDING=5>
<TR ALIGN=LEFT>
<TH VALIGN=TOP NOWRAP ALIGN=LEFT>Datei</TH>
<TH VALIGN=TOP NOWRAP ALIGN=LEFT>Funktion</TH>
</TR>
<TR ALIGN=LEFT>
<TD VALIGN=TOP NOWRAP ALIGN=LEFT><B> Verzeichnis INCLUDE</B></TD>
<TD VALIGN=TOP NOWRAP ALIGN=LEFT></TD>
</TR>
<TR ALIGN=LEFT>
<TH VALIGN=TOP NOWRAP ALIGN=LEFT>REGAVR.INC<BR>
REGCOP8.INC<BR>
REGGP32.INC<BR>
REGHC12.INC<BR>
REGM16C.INC<BR>
REGMSP.INC<BR>
REGST9.INC<BR>
REGZ380.INC<BR>
STDDEF04.INC<BR>
STDDEF16.INC<BR>
<BR>
STDDEF17.INC<BR>
STDDEF18.INC<BR>
STDDEF2X.INC<BR>
STDDEF37.INC<BR>
STDDEF3X.INC<BR>
STDDEF47.INC<BR>
STDDEF51.INC<BR>
<BR>
STDDEF56K.INC<BR>
STDDEF5X.INC<BR>
STDDEF60.INC<BR>
<BR>
STDDEF62.INC<BR>
STDDEF75.INC<BR>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -