Der integrierte Assembler meiner Delphiversion (7 Personal) kann mit den Registern xmm0..xmm7 umgehen, mit den Registern xmm8..xmm15 nicht. (Der Prozessor meines Rechners verfügt über SSE2.) Zunächst möchte ich nicht auf eine neuere Delphiversion umsteigen und muss, um diese Register verwenden zu können, den Assemblercode byteweise mit den Anweisungen "
db $66, ..." eingeben. Leider kenne ich die Opcodes für Anweisungen mit diesen Registern nicht bzw. verstehe ihre Beschreibungen in den INTEL-Unterlagen nicht.
Wäre jemand so nett und würde einmal folgenden Code assemblieren und mir den hex dump nennen?
movdqa xmm8, dqword[eax]
movdqa xmm15, dqword[eax]
movdqa xmm8, dqword[esi]
movdqa xmm8, dqword[mem] //wobei 'mem' irgendeine 32-Bit-Speicheradresse ist
paddq xmm0, xmm8
Ich hoffe daraus genügend lernen zu können, um mir weitere Opcodes zu erschließen.
Vielen Dank
Heinrich