as 2007-09-04 12:48:37 UTC
FreeBSD German Documentation Repository
Modified files:
books/developers-handbook/x86 chapter.sgml
Log:
Kapitel 12.13 von Fabian Borschel gegen gelesen.
Revision Changes Path
1.12 +307 -311 de-docproj/books/developers-handbook/x86/chapter.sgml
Index: chapter.sgml
===================================================================
RCS file: /home/cvs/de-docproj/books/developers-handbook/x86/chapter.sgml,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -I$FreeBSDde.*$ -r1.11 -r1.12
--- chapter.sgml 31 Aug 2007 06:13:11 -0000 1.11
+++ chapter.sgml 4 Sep 2007 12:48:36 -0000 1.12
@@ -3686,8 +3686,8 @@
Assemblersprachen nicht einmal die Existenz der
<acronym>FPU</acronym>, oder
<emphasis>floating point unit</emphasis>
- (Fließkomma-Recheneinheit), geschweige denn das auf die
- Programmierung mit dieser eingeganen wird.</para>
+ (Fließkomma-Recheneinheit), geschweige denn, daß
+ auf die Programmierung mit dieser eingeganen wird.</para>
<para>Dabei kann die Assemblerprogrammierung gerade bei
hoch optimiertem <acronym>FPU</acronym>-Code, der
@@ -3698,20 +3698,20 @@
<title>Organisation der <acronym>FPU</acronym></title>
<para>Die <acronym>FPU</acronym> besteht aus 8 80–bit
- floating–point Registern. Diese sind in Form eines
- Stacks organisiert—Sie können einen Wert auf dem
+ Fließkomma-Registern. Diese sind in Form eines
+ Stacks organisiert—Sie können einen Wert durch
+ den Befehl <function>push</function> auf dem
<acronym>TOS</acronym> (<emphasis>top of stack</emphasis>)
- <function>push</function>en oder
- <function>pop</function>en.</para>
+ ablegen, oder durch <function>pop</function> von diesem
+ holen.</para>
- <para>Da also die Befehle <function
- role="opcode">push</function> und <function
- role="opcode">pop</function> schon verwendet werden, kann es
- keine op-Codes in Assemblersprache mit diesen Namen
- geben.</para>
+ <para>Da also die Befehle <function role="opcode">push</function>
+ und <function role="opcode">pop</function> schon verwendet
+ werden, kann es keine op-Codes in Assemblersprache mit diesen
+ Namen geben.</para>
- <para>Sie können mit einen Wert auf den
- <acronym>TOS</acronym> <function>push</function>en, indem Sie
+ <para>Sie können mit einen Wert auf dem
+ <acronym>TOS</acronym> ablegen, indem Sie
<function role="opcode">fld</function>, <function
role="opcode">fild</function>, und <function
role="opcode">fbld</function> verwenden. Mit weiteren op-Codes
@@ -3720,47 +3720,47 @@
ablegen.</para>
<para>Analog dazu können Sie einen Wert
- <function>pop</function>en, indem Sie <function
- role="opcode">fst</function>, <function
- role="opcode">fstp</function>, <function
+ holen, indem Sie <function role="opcode">fst</function>,
+ <function role="opcode">fstp</function>, <function
role="opcode">fist</function>, <function
role="opcode">fistp</function>, und <function
role="opcode">fbstp</function> verwenden. Eigentlich
- <function>pop</function>en nur die op-Codes, die auf
+ holen (<function>pop</function>) nur die op-Codes, die auf
<emphasis>p</emphasis> enden, einen Wert, während die
- anderen den Wert irgendwo <function>store</function>n ohne ihn
- vom <acronym>TOS</acronym> zu entfernen.</para>
+ anderen den Wert irgendwo speichern (<function>store</function>)
+ ohne ihn vom <acronym>TOS</acronym> zu entfernen.</para>
<para>Daten können zwischen dem <acronym>TOS</acronym>
- und dem Hauptspeicher als 32–bit, 64–bit, oder
+ und dem Hauptspeicher als 32–bit, 64–bit oder
80–bit <emphasis>real</emphasis>, oder als 16–bit,
- 32–bit, oder 64–bit <emphasis>integer</emphasis>,
+ 32–bit oder 64–bit <emphasis>Integer</emphasis>,
oder als 80–bit <emphasis>packed decimal</emphasis>
übertragen werden.</para>
- <para>Der 80–bit <emphasis>packed decimal</emphasis> ist
- ein Spezialfall von <emphasis>binary coded decimal</emphasis>,
- welcher üblicherweise bei der Konvertierung zwischen der
+ <para>Das 80–bit <emphasis>packed decimal</emphasis>-Format
+ ist ein Spezialfall des
+ <emphasis>binary coded decimal</emphasis>-Formates,
+ welches üblicherweise bei der Konvertierung zwischen der
<acronym>ASCII</acronym>- und
<acronym>FPU</acronym>-Darstellung von Daten verwendet wird.
- Dieser erlaubt die Verwendung von 18 signifikanten
+ Dieses erlaubt die Verwendung von 18 signifikanten
Stellen.</para>
- <para>Unabhängig davon wie Daten im Speicher dargestellt
- werden speichert die <acronym>FPU</acronym> ihre Daten immer
- im 80–bit <emphasis>real</emphasis> Format in den
+ <para>Unabhängig davon, wie Daten im Speicher dargestellt
+ werden, speichert die <acronym>FPU</acronym> ihre Daten immer
+ im 80–bit <emphasis>real</emphasis>-Format in den
Registern.</para>
- <para>Ihre interne Genauigkeit ist mindestens 19
+ <para>Ihre interne Genauigkeit beträgt mindestens 19
Dezimalstellen. Selbst wenn wir also Ergebnisse im
- <acronym>ASCII</acronym> Format mit voller 18–digit
+ <acronym>ASCII</acronym>-Format mit voller 18–stelliger
Genauigkeit darstellen lassen, werden immer noch korrekte
Werte angezeigt.</para>
<para>Des weiteren können mathematische Operationen auf
dem <acronym>TOS</acronym> ausgeführt werden: Wir
können dessen <emphasis>Sinus</emphasis> berechnen, wir
- können ihn <emphasis>Skalieren</emphasis> (z.B.
+ können ihn <emphasis>skalieren</emphasis> (z.B.
können wir ihn mit dem Faktor 2 Multiplizieren oder
Dividieren), wir können dessen
<emphasis>Logarithmus</emphasis> zur Basis 2 nehmen, und viele
@@ -3769,7 +3769,7 @@
<para>Wir können auch <acronym>FPU</acronym>-Register
<emphasis>multiplizieren</emphasis>,
<emphasis>dividieren</emphasis>, <emphasis>addieren</emphasis>
- und <emphasis>subtrahieren</emphasis>, sogar mit einzelne
+ und <emphasis>subtrahieren</emphasis>, sogar einzelne
Register mit sich selbst.</para>
<para>Der offizielle Intel op-Code für den
@@ -3792,12 +3792,12 @@
<function role="opcode">st</function>.</para>
<sect3 id="x86-fpu-packed-decimal">
- <title>Das Packed Decimal Format</title>
+ <title>Das Packed Decimal-Format</title>
- <para>Das <emphasis>packed decimal</emphasis> Format verwendet
+ <para>Das <emphasis>packed decimal</emphasis>-Format verwendet
10 Bytes (80 Bits) zur Darstellung von 18 Ziffern. Die so
dargestellte Zahl ist immer ein
- <emphasis>integer</emphasis>.</para>
+ <emphasis>Integer</emphasis>.</para>
<tip>
<para>Sie können durch Multiplikation des
@@ -3818,21 +3818,20 @@
<para>Die <emphasis>signifikantere Ziffer</emphasis> wird in
der <emphasis>oberen Hälftes</emphasis> (4 Bits) eines
Bytes gespeichert, die andere in der
- <emphasis>unteren Hälftes</emphasis>.</para>
+ <emphasis>unteren Hälfte</emphasis>.</para>
<para>Vielleicht würden Sie jetzt annehmen, das
<constant>-1234567</constant> auf die folgende Art im
- Speicher abgelegt wird (in der hexadezimalen
- Notation):</para>
+ Speicher abgelegt wird (in hexadezimaler Notation):</para>
<programlisting>80 00 00 00 00 00 01 23 45 67</programlisting>
<para>Dem ist aber nicht so! Bei Intel werden alle Daten im
<emphasis>little–endian</emphasis>-Format gespeichert,
- auch das <emphasis>packed decimal</emphasis>.</para>
+ auch das <emphasis>packed decimal</emphasis>-Format.</para>
- <para>Dies bedeutet das <constant>-1234567</constant> wie
- folgt gespeichert wird:</para>
+ <para>Dies bedeutet, daß <constant>-1234567</constant>
+ wie folgt gespeichert wird:</para>
<programlisting>67 45 23 01 00 00 00 00 00 80</programlisting>
@@ -3846,13 +3845,13 @@
url="http://www.int80h.org/cgi-bin/isbn?isbn=013246604X">
8087/80287/80387 for the IBM PC & Compatibles</ulink>.
Obwohl es anscheinend die Speicherung der <emphasis>packed
- decimal</emphasis>im little–endian-Format für
+ decimal</emphasis> im little–endian-Format für
gegeben annimmt. Ich mache keine Witze über meine
- Verzweifelung als ich den Fehler im unten stehenden Filter
- gesucht habe <emphasis>bevor</emphasis> mir einfiel das
- ich einfach mal versuchen sollte, das
- little–endian-Format selbst für diesen Typ von
- Daten anzuwenden.</para>
+ Verzweifelung, als ich den Fehler im unten stehenden Filter
+ gesucht habe, <emphasis>bevor</emphasis> mir einfiel,
+ daß ich einfach mal versuchen sollte, das
+ little–endian-Format, selbst für diesen Typ von
+ Daten, anzuwenden.</para>
</note>
</sect3>
</sect2>
@@ -3860,14 +3859,14 @@
<sect2 id="x86-pinhole-photography">
<title>Ausflug in die Lochblendenphotographie</title>
- <para>Um sinvolle Programme zu schreiben müssen wir nicht
- nur unsere Programmierwerkzeuge verstehen, sondern auch das
+ <para>Um sinvolle Programme zu schreiben, müssen wir nicht
+ nur unsere Programmierwerkzeuge beherrschen, sondern auch das
Umfeld, für das die Programme gedacht sind.</para>
<para>Unser nächster Filter wird uns dabei helfen, wann
----------------------------------------------
Diff block truncated. (Max lines = 200)
----------------------------------------------
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-cvs-doc" in the body of the message
Received on Tue 04 Sep 2007 - 14:50:27 CEST