NOP pochodzi od ang. No Operation, czyli „brak operacji”. Jest to instrukcja procesora lub mikrokontrolera, która nie wykonuje żadnej operacji na danych: nie zmienia zawartości rejestrów roboczych, akumulatora ani flag procesora.
W mikrokontrolerach z rodziny 8051 instrukcja NOP:
- zajmuje 1 bajt w pamięci programu,
- ma kod rozkazu
00h, - trwa 1 cykl maszynowy,
- nie wykonuje działań arytmetycznych ani logicznych,
- nie przesuwa bitów i nie powoduje skoku programu.
Co faktycznie się zmienia?
Choć mówi się, że NOP „nic nie robi”, procesor nadal pobiera i wykonuje instrukcję. Zwiększa się licznik programu PC, ponieważ mikrokontroler przechodzi do następnej instrukcji.
Zastosowania instrukcji NOP
Instrukcja NOP bywa używana do:
- krótkich opóźnień czasowych,
- wyrównania kodu w pamięci,
- rezerwowania miejsca na późniejszą poprawkę programu,
- testowania i debugowania programu,
- synchronizacji czasowej prostych procedur.
Przykład
NOP ; brak operacji, czas wykonania: 1 cykl maszynowy
MOV A,#55h ; następna instrukcja
W pytaniach egzaminacyjnych należy pamiętać: NOP nie przesuwa akumulatora, nie wykonuje iloczynu logicznego i nie powoduje skoku. W rodzinie 8051 poprawny opis to: brak działania operacyjnego i czas wykonania równy 1 cyklowi maszynowemu.