Verständnisproblem Hardware
-
SeppJ schrieb:
Bashar schrieb:
blurry333 schrieb:
soviel ich weiß wird aber genau so in Assembler eine Schleife realisiert.
Und was sollte dann dieser Blödsinn mit "der Assembler schreibt den Code 1000mal hintereinander"?
Der Assembler (der Code) muss ja noch in Maschinencode übersetzt werden. Und da ist es schon ganz richtig, der Assembler (das Programm zur Übersetzung) muss dann 1000x den entsprechenden Maschinencode erzeugen, da es auf Maschinenebene keine Sprünge gibt (Wie sollte das auch funktionieren? Die Hardware ist schließlich fest verdrahtet).
Daher auch das schon genannte Phänomen, dass Programme heute viel größer sind als früher, weil heute die meisten Schleifen viel häufiger ausgeführt werden.
Äh?
Intel 80x86 Assembly Language OpCodes
JA/JNBE - Jump Above / Jump Not Below or Equal
JAE/JNB - Jump Above or Equal / Jump on Not Below
JB/JNAE - Jump Below / Jump Not Above or Equal
JBE/JNA - Jump Below or Equal / Jump Not Above
JC - Jump on Carry
JCXZ/JECXZ - Jump if Register (E)CX is Zero
JE/JZ - Jump Equal / Jump Zero
JG/JNLE - Jump Greater / Jump Not Less or Equal
JGE/JNL - Jump Greater or Equal / Jump Not Less
JL/JNGE - Jump Less / Jump Not Greater or Equal
JLE/JNG - Jump Less or Equal / Jump Not Greater
JMP - Unconditional Jump
JNC - Jump Not Carry
JNE/JNZ - Jump Not Equal / Jump Not Zero
JNO - Jump Not Overflow
JNS - Jump Not Signed
JNP/JPO - Jump Not Parity / Jump Parity Odd
JO - Jump on Overflow
JP/JPE - Jump on Parity / Jump on Parity Even
JS - Jump SignedHab ich Opcodes nicht verstanden?
-
Check mal deinen Ironiedetektor.
-
Kenner der Ironiker schrieb:
Check mal deinen Ironiedetektor.
Haha der scheint wohl in der Werkstatt zu sein.
-
Dies alles dient nur dazu blurry333 ausführlich, richtig und gut auszubilden.
SeppJ hat das daher schon richtig erklärt.blurry333 lerne das, was SeppJ gesagt hat, du darfst es dann auch in deiner Hochschule in einem Seminar so vortragen.
-
Zeus schrieb:
SeppJ schrieb:
Bashar schrieb:
blurry333 schrieb:
soviel ich weiß wird aber genau so in Assembler eine Schleife realisiert.
Und was sollte dann dieser Blödsinn mit "der Assembler schreibt den Code 1000mal hintereinander"?
Der Assembler (der Code) muss ja noch in Maschinencode übersetzt werden. Und da ist es schon ganz richtig, der Assembler (das Programm zur Übersetzung) muss dann 1000x den entsprechenden Maschinencode erzeugen, da es auf Maschinenebene keine Sprünge gibt (Wie sollte das auch funktionieren? Die Hardware ist schließlich fest verdrahtet).
Daher auch das schon genannte Phänomen, dass Programme heute viel größer sind als früher, weil heute die meisten Schleifen viel häufiger ausgeführt werden.
Äh?
Intel 80x86 Assembly Language OpCodes
JA/JNBE - Jump Above / Jump Not Below or Equal
JAE/JNB - Jump Above or Equal / Jump on Not Below
JB/JNAE - Jump Below / Jump Not Above or Equal
JBE/JNA - Jump Below or Equal / Jump Not Above
JC - Jump on Carry
JCXZ/JECXZ - Jump if Register (E)CX is Zero
JE/JZ - Jump Equal / Jump Zero
JG/JNLE - Jump Greater / Jump Not Less or Equal
JGE/JNL - Jump Greater or Equal / Jump Not Less
JL/JNGE - Jump Less / Jump Not Greater or Equal
JLE/JNG - Jump Less or Equal / Jump Not Greater
JMP - Unconditional Jump
JNC - Jump Not Carry
JNE/JNZ - Jump Not Equal / Jump Not Zero
JNO - Jump Not Overflow
JNS - Jump Not Signed
JNP/JPO - Jump Not Parity / Jump Parity Odd
JO - Jump on Overflow
JP/JPE - Jump on Parity / Jump on Parity Even
JS - Jump SignedHab ich Opcodes nicht verstanden?
Bring blurry333 bitte nichts falsches bei.
-
Man sollte Programme auch nicht zu lange laufen lassen, denn dann werden bestimmte Schleifen wie die Main-Event-Loop viel zu häufig ausgeführt und die exe-Dateien werden riesig. Wenn das gesamte Programm in der Main-Loop läuft, ist die Dateigröße mindestens proportional zur Ausführungszeit (das, was man unter Windows mit rechter Maustaste unter Eigenschaften sieht, ist nur ein Schätzwert basierend auf der durchschnittlichen Ausführungszeit).
Man merkt das sehr gut daran, dass der Speicherplatz auf der Festplatte weniger wird, wenn man viel Software länger laufen lässt.
Diese JMP-Befehle gibt es nicht, das sind so ein paar Ideen, die nie realisiert wurden. Leider gibt es immer noch viele Autoren, die vermitteln, dass das wirklich verwendet wird.
Aber hier wird ja zum Glück damit aufgeräumt.
-
Zeus schrieb:
Intel 80x86 Assembly Language OpCodes
JA/JNBE - Jump Above / Jump Not Below or Equal
JAE/JNB - Jump Above or Equal / Jump on Not Below
JB/JNAE - Jump Below / Jump Not Above or Equal
JBE/JNA - Jump Below or Equal / Jump Not Above
JC - Jump on Carry
JCXZ/JECXZ - Jump if Register (E)CX is Zero
JE/JZ - Jump Equal / Jump Zero
JG/JNLE - Jump Greater / Jump Not Less or Equal
JGE/JNL - Jump Greater or Equal / Jump Not Less
JL/JNGE - Jump Less / Jump Not Greater or Equal
JLE/JNG - Jump Less or Equal / Jump Not Greater
JMP - Unconditional Jump
JNC - Jump Not Carry
JNE/JNZ - Jump Not Equal / Jump Not Zero
JNO - Jump Not Overflow
JNS - Jump Not Signed
JNP/JPO - Jump Not Parity / Jump Parity Odd
JO - Jump on Overflow
JP/JPE - Jump on Parity / Jump on Parity Even
JS - Jump SignedHab ich Opcodes nicht verstanden?
Keiner dieser Opcodes sagt "Schleife". Darüber haben Bashar und Sone doch auch schon diskutiert.
-
Also Leute, klar gibt es Schleifen.
Nur...
Für 1x Schleife braucht man 99x Dunkelkristall.
Und Dunkelkristall ist ein Rare-Drop von den Dark-Aeons und ein paar wirklich fiesen Monster-Arena Kreaturen.Bis man also 1x Schleife beinander hat ist man alt und grau => ist also nicht sehr wirtschaftlich.
-
Aber im AH sind die relativ billig... nur 2k. Also schön sparen. :p
-
Deswegen hat ja Intel Elerium 115 entwickelt, damit geht's schneller.