Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Assembler Zugriff auf 128 bit variable (https://www.delphipraxis.net/211962-assembler-zugriff-auf-128-bit-variable.html)

mwilms 26. Nov 2022 15:20

Assembler Zugriff auf 128 bit variable
 
Hallo,

weiß jemand wie man das xxm0 Register mit einer 128bit Variable lädt?

Für 64 Bit:
Delphi-Quellcode:
var
  Bytes8: Int64; // Bzw. Double
asm
  movq xxm0,Bytes8
Für 128 Bit?
Delphi-Quellcode:
var
  Bytes16: ??? // Welche Deklaration?
asm
  movaps xmm0,Bytes16
Vielen Dank

himitsu 26. Nov 2022 16:34

AW: Assembler Zugriff auf 128 bit variable
 
Per se ist der Typ erstmal egal, da es nativ sowieso nichts gibt und es somit nur als Datenspeicher dient.
Delphi-Quellcode:
array[0..15] of Byte;
array[0..3] of UInt32;
array[0..1] of UInt64;
record lo, hi: UInt64; end;
...
oder in zwei einzelne Variablen
Delphi-Quellcode:
var lo, hi: UInt64;



movdqu
https://stackoverflow.com/questions/...eneral-purpose

freimatz 26. Nov 2022 16:47

AW: Assembler Zugriff auf 128 bit variable
 
<gelöscht>

himitsu 26. Nov 2022 17:00

AW: Assembler Zugriff auf 128 bit variable
 
movb = byte (1)
movw = word (2)
movd = doubleword (2*2)
movq = quadword (4*2)
movdqu = double-quadword (2*4*2)

mwilms 26. Nov 2022 18:55

AW: Assembler Zugriff auf 128 bit variable
 
Gibt es eine Entsprechung für

vmovups xmm0,[rsi]

in Delphi?

Oder gar für

vmovups ymm0,[rsi]; vmovups zmm0,[rsi]

mwilms 26. Nov 2022 18:58

AW: Assembler Zugriff auf 128 bit variable
 
Wieviele Zyklen (CPU Cycles) benötigen diese Befehle? (einschließlich movdqu)

himitsu 26. Nov 2022 20:17

AW: Assembler Zugriff auf 128 bit variable
 
Nicht alles versteht der Assembler im Delphi,
aber was er nicht kennt, dass kann man auch direkt binär eingeben.

z.B.
Delphi-Quellcode:
dw 310Fh
für
Delphi-Quellcode:
rdtsc
(db dw dd)

Zitat:

Wieviele Zyklen (CPU Cycles) benötigen diese Befehle
das kommt auf die CPU an.

genaueres wirst nur wohl in ihrer Dekumentation finden.

Stevie 27. Nov 2022 23:27

AW: Assembler Zugriff auf 128 bit variable
 
Zitat:

Zitat von mwilms (Beitrag 1515445)
Wieviele Zyklen (CPU Cycles) benötigen diese Befehle? (einschließlich movdqu)

Kannst du hier nachschauen


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:58 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz