Verständnisproblem Hardware
-
Sone schrieb:
Das einzige Problem
Das einzige Problem, das ich da sehe ist, dass die Schleife syntaktisch falsch ist.
-
Sone schrieb:
Aber würdest du den
JE
-Befehl nicht als Schleife einstufen?Du etwa? Dann benutzt du wohl auch if-Schleifen...
-
otze schrieb:
Sone schrieb:
Das einzige Problem
Das einzige Problem, das ich da sehe ist, dass die Schleife syntaktisch falsch ist.
Das ist Pseudocode.
-
Bashar schrieb:
Sone schrieb:
Aber würdest du den
JE
-Befehl nicht als Schleife einstufen?Du etwa? Dann benutzt du wohl auch if-Schleifen...
Ich meinte im Assembler. Ich habe keine Ahnung von Assembler, aber nutzt man nicht bspw. den oben genannten Befehl um eine Zählschleife zu realisieren?
-
blurry333 schrieb:
Schleifen gibts in Maschinensprache also gar nicht. Wenn ich 1000 mal eine Schleife durchlaufe, dann schreibt der Assembler 1000 mal das gleiche hin. Wird Zeit dass man das irgendwie in Hardware hinbekommt.
Deshalb sind Spiele heute mehrere Gigabyte groß. Die Hauptschleife in so einem Spiel müsste ja eine Endlosschleife sein, dafür bräuchten wir unendlich viel Speicher. Geht ja nicht! Deshalb tricksen die Entwickler und machen eine Fast-unendlich-Schleife, also die wird echt oft ausgeführt. Dafür wird der Code auch millionen mal vom Assembler geklont und zack, schon haben wir 20-Gb große Spiele
Übrigens, falls ich rausfinde wer von euch als blurry rumtrollt, kriegt derjenige einen gewaltigen Arschtritt für 3 Jahre belastete Nerven.
-
Sone schrieb:
Ich habe keine Ahnung von Assembler, aber nutzt man nicht bspw. den oben genannten Befehl um eine Zählschleife zu realisieren?
Ja unter anderem, kann man. Man benutzt auch ADD, um einen Flugsimulator zu realisieren. Wieso fühl ich mich gerade genauso wie beim Beantworten einer blurry-Frage?
-
Weil ich genauso wenig von Assembler weiß wie Blurry?
-
Wenn es hier nur um Wissen ginge, hätte wir den ganzen Stress nicht ... soll ich dir nun wirklich ernsthaft erklären, dass ein JE ein bedingter Sprung ist, also grob einem
if (zero_flag) goto ...
entspricht, und damit bestenfalls ein Teil einer Implementierung einer Schleife darstellen kann?
-
Ich weiß, was JE macht, danke. So unwissend bin ich nicht.
Natürlich ist JE keine Schleife, es ist nur eine Assembler-Anweisung.
-
soviel ich weiß wird aber genau so in Assembler eine Schleife realisiert.
.Schleife: ; repeat ... until (ecx == 5) ; Anweisungen inc ecx cmp ecx, 5 jne .Schleife
-
blurry333 schrieb:
soviel ich weiß
Armer Idiot
-
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"?
-
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"?
Vielleicht denkt er, dass Assembler so eine Art Makrosprache ist, wo eine Schleife durch Textersetzung realisiert wird?
(P.S.: Er redet davon, dass der Assembler den ASM-Code bei der Umwandlung in Maschinencode 1000-Mal hintereinander schreibt)
-
Vielleicht ist blurry autoexec.bat (Supercodes)
-
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.
-
config.sys schrieb:
Vielleicht ist blurry autoexec.bat (Supercodes)
-
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.