skip to main content

kiesler.at

Random Guide to whatever
updated by rck, 2004-10-10

Another case of trying out the swallow hack 0.2. This time, I'm shuffling some sections around. Enjoy!

0 < n < 100

High Performance Alpha Linux: Inline assembler sample code for gcc

Ein relativ langes Posting zum Thema High Performance Computing, in welchem ein umfangreiches Inline-Assemblerprogramm vorgestellt wird. Zeigt im wesentlichen, dass man mit Inline-Assembler nicht nur an Performance gewinnen sondern auch (drastisch) an Übersicht verlieren kann.

Linux-Alpha Archive: wh64 (slow)

Von der Codestruktur wird hier Alpha-Inlineassembler sehr überzeugend dargestellt. Meine Hauptwissensquelle für asma und asmb!

Using the GNU Compiler Collection (GCC): DEC Alpha Options

Hat mir den rechten Weg zu Compilerparametern gewiesen. Stichwort: gcc -mcpu=ev6

Viel Spaß mit Inline-Assembler // René C. Kiesler!

100 < n < 200

Wie bereits beschrieben, werden die globalen Definitionen in main.tex durchgeführt.

Absatzvorlagen können wie gewohnt mit einem entsprechenden Environment (zB \begin{definition}...\end{definition}) verwendet werden.

Folgende Absatzvorlagen (definiert mit \newtheorem) stehen zur Verfügung und sind bitte durchgängig zu verwenden:

definition Für Definitionen. Diese werden, genau wie alle anderen Absatzvorlagen auch, sektionsweise durchnummeriert.

satz Für Sätze. Im Prinzip Schlußfolgerungen aus Definitionen.

annahme Eine Voraussetzung, die in weiterer Folge zu einem Satz oder einer Definition führen kann.

beispiel Illustratives Beispiel, welches im Normalfall eine Definition oder einen Satz einführt.

bemerkung eine Bemerkung, die dem Verständniss dienlich sein kann und Definitionen und Sätze anschaulicher macht.

beweis Mathematischer Beweis von Definitionen.

kommentar Kommentar für den versierten Leser -- nicht Teststoff.

200 < n < 300

Ich habe für jeden Knoten eine eigene Behandlungsroutine geschrieben, die Folgende ist beispielsweise für die Behandlung von "add"-Befehlen zuständig. Das gezeigte Prinzip sollte aber für so ziemlich alle binären Operationen anwendbar sein.

83 /*              arithmetics
84 */
85 
86 
87 node_add(treenodep a, treenodep b, treenodep dest) {
88 
89         if((a->regnr!=-1) && (b->regnr!=-1)) {
90 
91                 if(is_work_reg(a->regnr))
92                         dest->regnr=a->regnr;
93                 else
94                 if(is_work_reg(b->regnr))
95                         dest->regnr=b->regnr;
96                 else
97                         dest->regnr=alloc_register();
98 
99                 print_add(a->regnr, b->regnr, dest->regnr);
100 
101         } else
102         if(a->regnr!=-1) {
103 
104                 if(is_work_reg(a->regnr)) {
105 
106                         dest->regnr=a->regnr;
107                         print_add_const(a->regnr, b->num, a->regnr);
108 
109                 } else {
110 
111                         dest->regnr=alloc_register();
112                         print_add_const(a->regnr, b->num, dest->regnr);
113                 }
114 
115         } else
116         if(b->regnr!=-1) {
117 
118 
119                 if(is_work_reg(b->regnr)) {
120 
121                         dest->regnr=b->regnr;
122                         print_add_const(b->regnr, a->num, b->regnr);
123 
124                 } else {
125 
126                         dest->regnr=alloc_register();
127                         print_add_const(b->regnr, a->num, dest->regnr);
128                 }
129 
130         } else {
131 
132                 /* herzlichen Dank an Peter / Informatik-Forum
133                    für diese GENIALE Idee! :-) */
134 
135                 if(((a->num+b->num)>-254) &&
136                    ((a->num+b->num)< 255)) {
137 
138                         dest->num=a->num+b->num;
139                         dest->regnr=-1;
140 
141                 } else {
142 
143                         dest->regnr=alloc_register();
144                         print_store_const(a->num, dest->regnr);
145                         print_add_const(dest->regnr, b->num, dest->regnr);
146 
147                 }
148 
149         }
150 }

here you can see some nonsense article. in case it makes sense, it's all fault of Swallow Hack 0.5 for Article Manager!



RSSComments - Make a comment
The comments are owned by the poster. We are not responsible for its content.
RSSAll Articles
2008, 2007, 2006, 2005, 2004

What's Related

Article Manager

Hacks

Latest Updates

AdministrativeTexts
updated by freddiemac1993, 2013-06-14
wiki

Re: adventures
created by brittdavis10, 2012-02-23 (1 rply, 3 views)
thread

Re: how to run phpwebsite...
created by alexander, 2011-08-25 (2 rpls, 3607 views)
thread

Re: Forum tags
created by HaroldFaragher, 2011-08-22 (3 rpls, 8488 views)
thread


Zu den KO2100 Foren