Hi brechi,
Zitat von
brechi:
wenn du dir den erstellten Assemblercode anschaust sollte es klar werden:
004035CD 31DB xor ebx,ebx
004035CF 6993087084000584 imul edx,[ebx+$00847008],$08088405
wird wohl schneller sein als ein
mov ebx, randseed
imul edx, ebx, $08088405
Kann man es nicht einfach so umschreiben:
Delphi-Quellcode:
xor ebx,ebx
imul edx,[ebx+$00847008],$08088405
->
imul edx,[0 + $00847008],$08088405
->
imul edx,[$00847008],$08088405
Das ist doch bestimmt schneller als erst EBX auf 0 zu setzen und dann nochmal auf EBX lesend zugreifen (Das PUSH/POP nicht zu vergessen).
Zitat von
brechi:
bei einem
mov ebx, 0
wird die 0 (0 als opcode parameter) sehr wohl aus dem speicher geladen
Da hast du recht, habe nicht soweit gedacht. Für mich ist es aber kein "echtes" laden, da der OP-Code immer "geladen" werden muss.
Gruß