Asembler x86/Instrukcje/PADDx

Z Wikibooks, biblioteki wolnych podręczników.

PADDB to instrukcja rozszerzenia MMX (Multimedia Extension) w architekturze x86, która służy do dodawania dwóch zestawów bajtów zarejestrowanych w rejestrach MMX i zapisywania wyników w rejestrze docelowym. Instrukcja PADDB wykonuje operację dodawania dla każdej pary bajtów z osobna, a wynik zapisuje w odpowiadającej parze bajtów w rejestrze docelowym.

Składnia[edytuj]

PADDB mm1, mm2/m64

Opis[edytuj]

Instrukcja PADDB dodaje każdy bajt z mm1 z odpowiadającym bajtem z mm2/m64, a wynik zapisuje w mm1. Obie operandy muszą być rejestrmi MMX lub odwołaniem do pamięci, w przypadku mm2/m64. Rejestr docelowy (mm1) może być również jednocześnie rejestrem źródłowym.

Przykład[edytuj]

.data
    src1    db  10, 20, 30, 40
    src2    db  5, 15, 25, 35
    dest    db  0, 0, 0, 0

.code
    movq    mm1, [src1]    ; Załadowanie danych z src1 do mm1
    movq    mm2, [src2]    ; Załadowanie danych z src2 do mm2

    paddb   mm1, mm2       ; Dodanie danych z mm1 i mm2, wynik w mm1

    movq    [dest], mm1    ; Zapisanie wyniku do dest

W powyższym przykładzie instrukcja PADDB dodaje kolejne pary bajtów z rejestrów MMX mm1 i mm2 i zapisuje wynik w mm1. Następnie wynik jest zapisywany w pamięci w lokalizacji dest.

Wyjątki[edytuj]

Instrukcje MMX nie zgłaszają wyjątków związanych z operacjami arytmetycznymi.