der witz ist, ich habe ein Buch, das stellt mmx vollständig vor, u.a. den test mit dem CPUID Befehl, ob vorhanden. Ganz so kompliziert ist es nicht, weil wir leben in Zeiten, vom
amd64. wir müssen das nicht test, wir müssen
paddusb, movqeinfach in
nasmbenutzen. wir müssen auch nicht MMX aktivieren. die befehle sind nun mal da. Dass die Multimedia einheit gleichzeitig FPU ist, ist egal. sie nimmt halt was da ist, in den Registern. Benutzen wir
movqist automatisch das neueste drin
global _start
section .data
str1 db "aaaaaaaa"
str2 db 0, 1, 2, 3, 4, 5, 6, 7
section .text
_start:
mov edx, 8
mov ecx, str1
mov ebx, 1
mov eax, 4
int 0x80
movq mm0, [str1]
movq mm1, [str2]
paddusb mm0, mm1
movq [str1], mm0
movq [str2], mm1
mov edx, 8
mov ecx, str1
mov ebx, 1
mov eax, 4
int 0x80
mov ebx, 0
mov eax, 1
int 80h
david@work:~$ ld -m elf_i386 mmx20240916.o -o mmx20240916 david@work:~$ ./mmx20240916 aaaaaaaaabcdefghdavid@work:~$