Szorzás (mul) és szorzás-összeadás (MLA) egy 32 bites eredményt

Ezek a parancsok végrehajtásra kerül, ha a feltétel igaz. Az összes különféle végrehajtásuk feltételeiről táblázatban vannak felsorolva 6. A gépi kód mindkét csapat a 21. ábrán látható.







Mindkét végrehajtására vonatkozó utasításokat szorzás segítségével a beépített algoritmus alapján a láncot a logikai eltolás műveletek és hozzáadunk 8-bites operandusokat (Booth algoritmus).


Ábra. 21. Szorzás csapat

Team, szorzás (MUL) használja a következő formában: Rd: = Rm * Rs. Rn figyelmen kívül hagyja, és a nyilvántartást kell nulla céljára való összeegyeztethetőség esetleges jövőbeni bővítése az utasításkészletet.

A parancsok szorzás-összeadás (MLA) használ egy másik rögzítési formában: Rd: = Rm * Rs + Rn. Amikor Rm = 1 vagy R = 1 Ezt a parancsot tetteikért egyenértékű az ADD parancs.

Mindkét parancs műveletek elvégzéséhez csak egész szám operandusokat előjel nélküli és aláírt (2-es komplemens-x).

Az eredmények a szorzata 32 bites operandus egy jel és egy 32 bites, előjel nélküli operandusok csak abban különböznek, hogy felső 32 bit, és az alsó 32 bit egyaránt eredménye - ugyanaz a két típusú operandusok. Ennek eredményeként az utasítás MUL és MLA csak a 32-bit (32 bit az eredmény figyelmen kívül maradnak), akkor a kimenet a következő parancsok ugyanaz lesz mindkét aláírt operandus unsigned.

Például, a parancs a szorzás 0xFFFFFFF6 (operandus A) 0x00000014 (operandus B) eredményez egyenlő 0xFFFFFF38.







Ha az operandusok interpretálja aláírt

Legyen A = -10 operandus, és operandus B = 20, az eredmény a számát megszorozzák a -200, amely pontosabb írásmód szerint: 0xFFFFFF38.

Ha az operandusok - aláíratlan

Legyen A = 4294967286 operandus, és operandus B = 20, az eredmény a számát megszorozzák a 85899345720, hogy pontosabb írásmód szerint: 0x13FFFFFF38, de a felső 32 bitjét az eredmény elöntjük, az eredmény a szorzataként végső szám lesz 0xFFFFFF38.

Soha ne használja a regiszter-Rd eredményeket egyidejűleg regiszter-operandus (Rm, Rn vagy Rs). R15 Az is elfogadhatatlan, hogy használja a nyilvántartásba regiszter operandus vagy azt eredményezheti regisztráljon.

Minden más kombináció egyéb nyilvántartások ad helyes eredményt, és ha szükséges, a szerepe Rd, Rn és R szolgálhat egy és ugyanazon íven.

Zászlók regisztrációhoz CPSR

Az a képesség, hogy befolyásolja CPSR regiszter flag bit S meghatározzuk a megfelelő mezőbe parancsot. Zászlók N (negatív) és Z (nulla) vannak beállítva összhangban eredményeként szorzás: flag N egyenlővé válik a 31-edik bit az eredmény, és a Z flag be van állítva, ha az eredmény - nulla. Flag C (transzfer) van beállítva, hogy egy ismeretlen állapot, és a lobogó V (túlcsordulás) - nem használjuk.

Száma gépi ciklus teljesítményének

MUL parancs végrehajtódik 1S + mI gépi ciklus, és az MLA parancs - az 1S + I (m + 1) gépi ciklus, ahol S és függ a motor típusa ciklusok, m - a száma 8-bites szorzók, elvégzéséhez szükséges a szorzást, és tartalom-függő szorzó operandus Rs. M lehetséges értékei az alábbiak:

m = 1, ha a bitek [31: 8] -multiplier operandus - vagy nullákat vagy az összes is. m = 2, ha a bitek [31:16], a szorzó operandus - vagy nullákat vagy az összes is. m = 3, ha a bitek [31:24], a szorzó operandus - vagy nullákat vagy az összes is. m = 4: minden más esetben.

assembly szintaxis

két karakterből emlékeztető szempontjából a parancs (lásd. lap. 6).




Kapcsolódó cikkek