Polecenia assemblera
Niektóre polecenia asemblera: (najpierw polecenie, potem przykład użycia, następnie opis)MOV Mov Ax, 5Mov Ax, BxMov Ax, zmiennaMov Ax, ES:[Di] Polecenie wpisuje do rejestru podaną wartość, rejestr, zmienną, lub adres pamięci.SHR Shr Ax, 3Shr Ax, Dl Przesunięcie bitowe rejestru o wskazaną ilość miejsc w prawo, tzn. jeśli mamy w Ax warość 128 –bitowo10000000 to po SHR Ax, 3 będzie 00100000, czyli 32. Często stosowane jako szybkie dzielenie przez potęgę dwójki (w przykładzie przez 2^3 czyli 8) (128:8=32) Można też do Dl wpisać jakąś wartość i wtedy przesuwać o ilość wskazaną w dlSHLShl Ax, 2Shl Ax, Dl Użycie podobne do przesunięcia w prawo, ale działanie odwrotne. Można używać jako mnożenia przez potęgę dwójkiADD Add Ax, BxAdd Ax, 3 Dodawanie dwóch rejestrów lub wartości do rejestru. Do Ax zostanie dodana wartość drugaINCInc AxInkrementacja –zwiększenie Ax o 1. Dużo szybsze (4x) od ADD Ax, 1DECDec Ax Zmniejszenie Ax o 1SUB Sub Ax, BxSub Ax, 4Odejmowanie. Od Ax odejmuje BxANDAnd Al, 11110000bAnd Ax, Bx Nakładanie maski bitowej, inaczej operacja and, bity ustawione jako 1 zostaną, reszta będzie wyzerowanaNOT Not AxZmienia bity 1 na 0 a 0 na 1, wartość odwrotna, np. jeśli Al=128, wynikiem Not Al będzie 127, boNOT 10000000=01111111, można stosować jako szybkie odejmowanie wartości od np. 255 (255-128=127; 255-1=254)OR Or Ax, BxOr Bx, 200 Wszystkie bity które były ustawione dla Bx lub Ax będą ustawione, np. 11100000 OR 00000111=11100111. Wynik zwraca w pierwszym wskazanym rejestrze w przykładzie w AxSTOSSBSTOSSWSTOSSDDo obszaru pamięci w ES:[Di], wpisuje wartość Ah, Ax lub Eax, zależnie od użytego rodzaju instrukcji i zwiększa rejestr Di odpowiednio 1 (Dla instrukcji z zakończeniem SB), 2 (SW) lub 4 (SD)REP Rep StosW Powtarza instrukcję użytą za Rep, np. StosSW Cx razyLOOPLoop @Poczatek Odejmuje od Cx 1 I przeskakuje do początku programu jeśli Cx>0CMP Cmp Ax, BxJe @RowneJa @AxMniejszePorównuje wskazane wartości, wyniki zapisuje za pomocą flag:Ja pierwsza wartość Jb pierwsza wartość >druga wartośćJna pierwsza wartość <=druga wartośćJnb pierwsza wartość >=druga wartośćJe pierwsza wartość =druga wartośćJz pierwsza wartość =0MOVSBMOVSWMOVSD MovSBMovSWMovSDPrzenosi dane z adresu DS:[Si] do ES:[Di], oraz do Si i Di dodaje odpowiednio 1, 2 lub 4, dzięki czemu można tą instrukcję wykonywać w połączeniu z REPINIn Ah, Dx Zwraca wartość portu urządzeń nr Dx do AhOUTOut Ah, Dx Zapisuje wartość Ah do portu urządzeń nr DxLESLDSLes Di, DestLds Si, Source Zapisuje do rejestrów danych i zapisu adres pamięci podany przez jakąś zmienną typu pointerCLDUstawia że do rejestrów zapisu i odczytu będzie dodawana wartość Di i Si podczas użycia StosSB lub MovSB itp..
Slayer413