summaryrefslogtreecommitdiff
path: root/Master/texmf-doc/doc/german/latex-tipps-und-tricks/lstfloat.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-doc/doc/german/latex-tipps-und-tricks/lstfloat.tex')
-rw-r--r--Master/texmf-doc/doc/german/latex-tipps-und-tricks/lstfloat.tex134
1 files changed, 0 insertions, 134 deletions
diff --git a/Master/texmf-doc/doc/german/latex-tipps-und-tricks/lstfloat.tex b/Master/texmf-doc/doc/german/latex-tipps-und-tricks/lstfloat.tex
deleted file mode 100644
index a4f72e638c1..00000000000
--- a/Master/texmf-doc/doc/german/latex-tipps-und-tricks/lstfloat.tex
+++ /dev/null
@@ -1,134 +0,0 @@
-\documentclass[twocolumn,a4paper,10pt]{report}
-\usepackage{german,lstfloat,nofloat}
-\begin{document}
-
-\tableofsources
-
-\newpage
-\noindent Das folgende Listing~\ref{querlis} illustriert die Verwendung von Maschinensprache
-zur Bestimmung der Quersumme einer Zahl. Als Beispiel wird die Kodierung im
-Assembler der Prozessoren der 68000-Serie gezeigt.
-
-\begin{source}
-\caption[Quersumme]{Das Beispiel zeigt ein Programm, das die Quersummer einer im Register D2
-"ubergebenen (Dezimal-) Zahl berechnet. Die Quersumme wird durch sukzessives Dividieren
-durch 10 und Addieren des Divisionsrestes gebildet. Da der DIVU-Befehl nur einen 16~Bit-Quotienten
-(bis max. 65536) zul"a"st, kann nicht der gesamte Umfang des 32~Bit-Registers genutzt werden
-(was bis zu 10 Dezimalstellen bedeutete), sondern nur max. 5 Ziffern. Die Quersumme
-findet man in D0.\label{querlis}}
-\addcomment{Berechnet die Quersumme der Zahl im Register D2.}
-\begin{code}
- move.w #34056, d2 ; Quersumme
- moveq #4, d1 ; von 34056
- clr.l d0
-1$: divu #10, d2
- move.l d2, d3
- andi.l #$ffff, d2
- lsr.l #8, d3 ; Divisionsrest
- ; in Bits 31:16
- lsr.l #8, d3 ; ins untere
- ; Byte schieben
- add.w d3, d0
- dbra d1, 1$
- rts
-\end{code}
-\end{source}
-
-\noindent Betrachten wir nun einen Auszug aus einem Objektcodelisting.
-In Listing~\ref{primlist} sehen wir das dazugeh"orende
-Programm als NOFLOAT-Objekt gesetzt. Innerhalb
-dieses Objektes darf ein Seiten- oder
-Spaltenumbruch stattfinden, es wird jedoch die
-Formatierung der caption's beibehalten.
-
-\begin{nofloat}{source}
-\caption{Der Objektcode des Primzahlentesters in Listings~\ref{primlist}. Die
-Routine kann als Unterprogramm angesprungen werden.}
-\addcomment{Der Objectcode der nachfolgenden
-Routine zur "Uberpr"ufung der Zahl im Register D6.}
-\begin{code}
-7C1B ; move.l #27, d6
-6102 ; bsr.s prim_test
-4E75 ; rts
-2406 ; move.l d6,d2
-E24A ; lsr.w #1, d2
-0042 0001 ; ori.w #1, d2
-2206 ; move.l d6, d1
-82C2 ; divu d2, d1
-0281 FFFF ; andi.l #$ffff, d1
-6700 0010 ; beq non_prim
-5542 ; subq.w #2, d2
-B47C 0003 ; cmp.w #3, d2
-6C00 FFEA ; bge loop
-7000 ; moveq #0, d0
-4E75 ; rts
-7001 ; moveq #1, d0
-4E75 ; rts
-\end{code}
-\end{nofloat}
-
-\noindent Das Listing mit dem Objektcode steht in keinem Zusammenhang mit dem ersten
-Assemblerlisting und dient lediglich der Demonstration des Listing-Befehls.
-
-\begin{figure}[h]
-\centering\fbox{\rule{4cm}{0mm}\rule{0mm}{5cm}}
-\caption{Diese Abbildung ist blo"s ein Test, um zu beweisen, da"s die normale
-Formatierung Legenden unber"uhrt geblieben ist!}
-\end{figure}
-
-
-\begin{source*}
-\caption{Primzahlentest\label{primlist}}
-\addcomment{Pr"uft, ob die Zahl in D6 prim ist oder nicht.}
-Das Unterprogramm testet, ob eine in D6 "ubergebene 16-Bit-Zahl prim ist (D0=0) oder
-nicht (D0=1).
-\begin{code}
-start: move.l #27, d6 ; n=27
- bsr.s prim_test
- rts
-prim_test: move.l d6,d2
- lsr.w #1, d2 ; n/2
- ori.w #1, d2 ; mache D2 ungerade
-loop: move.l d6, d1
- divu d2, d1 ; teste auf Teiler von D1
- andi.l #$ffff0000, d1
- beq non_prim
- subq.w #2, d2 ; immer in 2er-Schritten
- cmp.w #3, d2
- bge loop
-prim: moveq #0, d0
- rts
-non_prim: moveq #1, d0
- rts
-\end{code}
-\end{source*}
-
-Schlie"slich sollen Sie in Listing~\ref{quer} noch erfahren, wie einfach die Quersumme einer gegebenen
-Zahl ermittelt werden kann.
-
-\begin{source*}
-\caption{Quersumme\label{quer}}
-\addcomment{Berechnet die Quersumme der Zahl im Register D2.}
-Das n"achste Beispiel zeigt ein Programm, das die Quersummer einer im Register D2
-"ubergebenen (Dezimal-) Zahl berechnet. Die Quersumme wird durch sukzessives Dividieren
-durch 10 und Addieren des Divisionsrestes gebildet. Da der DIVU-Befehl nur einen 16~Bit-Quotienten
-(bis max. 65536) zul"a"st, kann nicht der gesamte Umfang des 32~Bit-Registers genutzt werden
-(was bis zu 10 Dezimalstellen bedeutete), sondern nur max. 5 Ziffern. Die Quersumme
-findet man in D0.
-\begin{code}
-move.w #34056, d2 ; Quersumme von 34056
- moveq #4, d1
- clr.l d0
-1$: divu #10, d2
- move.l d2, d3
- andi.l #$ffff, d2
- lsr.l #8, d3 ; Divisionsrest in Bits 31:16
- lsr.l #8, d3 ; ins untere Byte schieben
- add.w d3, d0
- dbra d1, 1$
- rts
-\end{code}
-\end{source*}
-
-
-\end{document}