⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 as_de.html

📁 万能汇编工具
💻 HTML
📖 第 1 页 / 共 5 页
字号:
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&uuml;r den Fall, da&szlig; man bei der &Uuml;bersetzung                
gro&szlig;er, komplexer Programme unter DOS Speicherplatzprobleme
bekommt, existiert eine DOS-Version, die mittels eines DOS-Extenders
im Protected Mode abl&auml;uft und so das komplette Extended Memory
eines ATs nutzen kann. Die &Uuml;bersetzung wird durch den Extender
merklich langsamer, aber immerhin l&auml;uft es dann noch...
<P>
F&uuml;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&uuml;rlich zur Folge hat, da&szlig; OS/2 2.x
und ein 80386-Prozessor jetzt zwingend erforderlich sind.
<P>
Den reinen PC-Bereich verl&auml;&szlig;t man mit der C-Version von       
AS, die so gehalten wurde, da&szlig; sie auf einer m&ouml;glichst
gro&szlig;en Zahl von UNIX-artigen Systemen (dazu z&auml;hlt aber
auch OS/2 mit dem emx-Compiler) ohne gro&szlig;artige Verrenkungen
&uuml;bersetzbar ist. Im Gegensatz zu den vorherigen Versionen (die
auf den auf Anfrage erh&auml;ltlichen Pascal-Sourcen basieren) wird
die C-Version im Quellcode ausgeliefert, d.h. man mu&szlig; sich
mittels eines Compilers selbst die Binaries erzeugen. Dies ist aber
(f&uuml;r mich) der eindeutig einfachere Weg, als ein Dutzend
Binaries f&uuml;r Maschinen vorzukompilieren, auf die ich auch nicht
immer Zugriff habe...
<P>
Wer die bisherige Aufz&auml;hlung liest, wird feststellen, da&szlig;     
das meistverkaufte Betriebssystem der Welt aus Redmont in dieser
Aufz&auml;hlung fehlt. Wer mich pers&ouml;nlich kennt, wei&szlig;,
da&szlig; ich Windows (egal, ob 3.X, 95 oder NT)<EM> nicht</EM>
f&uuml;r das Ei des Kolumbus halte. Kurzgesagt, ich bin ein
,,Windows-Hasser''. Auch wenn eine gro&szlig;e Zahl an Leuten diese
Einstellung f&uuml;r &uuml;berholt bis l&auml;cherlich erachten und
mir jetzt vorhalten, ich w&uuml;rde hier einem gro&szlig;en Teil
potentieller Anwender AS vorenthalten, so werden sie sich doch damit
abfinden m&uuml;ssen: Ich treibe die Entwicklung an AS prim&auml;r
weiter, weil sie mir<EM> Spa&szlig;</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&szlig;
macht, und Programmieren unter Windows macht mir definitiv keinen
Spa&szlig;! Ich habe &uuml;brigens durchaus schon einmal
Windows-Programme schreiben m&uuml;ssen, es ist also nicht so,
da&szlig; ich hier ohne Erfahrung etwas daherreden w&uuml;rde. Sofern
irgendjemand AS in diese Richtung portieren will, werde ich mich ihm
nicht in den Weg stellen, &uuml;ber die Sourcen hinaus hat er aber
nicht viel Hilfe von mir zu erwarten (und mu&szlig; sich selber mit
den Anfragen der Qualit&auml;t herumschlagen, warum AS denn jetzt
nicht mehr l&auml;uft, nachdem man den Brummi-CAD 18.53-Eintrag in
der Registry von Gro&szlig;- in Kleinbuchstaben ge&auml;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&auml;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&uuml;rfte ein XT-Benutzer ohne
Festplatte erhebliche Probleme haben, die &uuml;ber 500 Kbyte
gro&szlig;e Overlay-Datei von AS auf einer Diskette
unterzubringen...eine Festplatte sollte der PC also schon haben,
allein um vern&uuml;nftige Ladezeiten zu erreichen. Im
Hauptspeicherbedarf ist AS recht gen&uuml;gsam: Das Programm selber
belegt knapp 300 Kbyte Hauptspeicher, AS sollte also ab einer
Hauptspeichergr&ouml;&szlig;e von 512 Kbyte ausf&uuml;hrbar sein.
<P>
Die Version von AS f&uuml;r das DOS-Protected-Mode-Interface (DPMI)      
ben&ouml;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&auml;&szlig;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 &uuml;brigens daf&uuml;r, da&szlig; man sich keine
Gedanken machen mu&szlig;, ob der eingestellte Speicher auch real
verf&uuml;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&auml;che) sowie ca 100..150 Mbyte Platz auf der
Festplatte. Da AS2 nur eine 16-Bit-Applikation ist, sollte er
theoretisch auch auf &auml;lteren OS/2-Versionen (und damit
80286-Prozessoren) lauff&auml;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&szlig; dem ANSI-Standard gen&uuml;gen (GNU-C erf&uuml;llt diese
Bedingung zum Beispiel). Ob Ihr UNIX-System bereits getestet und die
n&ouml;tigen Definitionen vorgenommen wurden, k&ouml;nnen Sie der<TT>
README</TT>-Datei entnehmen. Als zur Kompilation ben&ouml;tigten
Plattenplatz sollten Sie ca. 15 Mbyte veranschlagen; dieser Wert (und
der nach der &Uuml;bersetzung noch ben&ouml;tigte Platz f&uuml;r die
&uuml;bersetzten Programme) variiert allerdings stark von System zu
System, so da&szlig; man diesen Wert nur als Richtschnur betrachten
sollte.
<P>

<H2><A NAME="sect_2_2_">2.2. Lieferumfang</A></H2>
<P>
Prinzipiell erh&auml;lt man AS in einer von zwei Formen: Als<EM>
Bin&auml;rdistribution</EM> oder<EM> Quellcodedistribution</EM>. Im
Falle einer Bin&auml;rdistribution bekommt man AS mit den
zugeh&ouml;rigen Dienstprogrammen und Hilfsdateien fertig
&uuml;bersetzt, so da&szlig; man nach dem Auspacken des Archivs an
die gew&uuml;nschte Stelle direkt loslegen kann.
Bin&auml;rdistributionen werden f&uuml;r verbreitete Plattformen
gemacht, bei denen die Mehrzahl der Benutzer keinen Compiler hat oder
die &Uuml;bersetzung trickreich ist (im Moment sind dies DOS und
OS/2). Eine Quellcodedistribution enth&auml;lt im Gegensatz den
kompletten Satz an C-Quellen, um AS zu generieren; es ist letzten
Endes ein Schnappschu&szlig; des Quellenbaumes, an dem ich AS
weiterentwickele. Die Generierung von AS aus dem Quellcode und dessen
Struktur ist n&auml;her in Anhang <A HREF="#ref_ChapSource">I</A>
beschrieben, weshalb an dieser Stelle nur auf den Umfang und die
Installation einer Bin&auml;rdistribution beschrieben wird:
<P>
Das Archiv des Lieferumfangs gliedert sich in einige
Unterverzeichnisse, so da&szlig; man nach dem Auspacken sofort einen
Verzeichnisbaum erh&auml;lt. Die Verzeichnisse enthalten im
einzelnen:
<UL>
<LI> <TT> BIN</TT>: ausf&uuml;hrbare Programme, Text-Resourcen;</LI>
<LI> <TT> INCLUDE</TT>: Include-Dateien f&uuml;r Assemblerprogramme, z.B.
    Registerdefinitionen oder Standardmakros;</LI>
<LI> <TT> MAN</TT>: Kurzreferenzen f&uuml;r die Programme im
    Unix-Man-Format;</LI>
<LI> <TT> DOC</TT>: diese Dokumentation in verschiedenen Formaten;</LI>
<LI> <TT> LIB</TT>: vorgesehen f&uuml;r Initialisierungsdateien.</LI>
</UL>
Eine Auflistung der Dateien, die in jeder Bin&auml;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&uuml;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&auml;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 &amp; Befehlsmakros 80C166/167<BR>
Adressen &amp; 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&auml;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 + -