home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC Action 1997 December
/
PCACTION1297.ISO
/
menue
/
POSTFACH
/
97120652.TXT
< prev
next >
Wrap
Text File
|
1997-10-29
|
1KB
|
52 lines
0
RE: COMPILER
Doctor Mabuse
VAMPIRE
From: Doctor Mabuse
=================================================
Jetzt mal ein Beispiel, was ein coder und ein
compiler machen würde.
Beide Routinen geben die Zeichen AB auf
dem Bildschirm aus.
coder:
MOV AH,02h
MOV DL,41h
INT 21h ; displays "A"
MOV DL,42h
INT 21h ; displays "B"
compiler:
MOV AX,0002h
MOV DX,0041h
INT 21h ; displays "A"
MOV AX,0002h
MOV DX,0042h
INT 21h ; displays "B"
Man sieht genau, daß sich der normale compiler
fest nach dem Muster verhält, d.h. Er lädt die
Register AX und DX jedesmal neu.
Der coder lädt AH bloß einmal.
Wieso sollte er es ein zweites mal laden?
Er weiß ja, welcher Inhalt nach dem ersten INT21
drin ist.
Das weiß der normale compiler nicht.
Ein guter compiler könnte das schon wieder ändern
Er erkennt solche zusammenhänge und optimiert
dadurch den code.
Das war jetzt ein kleines Beispiel.
Den Geschwindigkeitszuwachs merkt man jetzt hier
nicht, aber bei langen und zeitkritischen
Programmen.
write back
Doctor Mabuse (I'm not a really doctor!)