Rozkazy warunkowe: Różnice pomiędzy wersjami

Z ZX Spectrum Wiki
(Utworzono nową stronę "Grupa rozkazów, których sposób wykonania zależy od spełnienia warunku <i>w</i> * CALL w * JP w * JR w * Rozkaz RET|RET...")
 
 
(Nie pokazano 2 wersji utworzonych przez jednego użytkownika)
Linia 2: Linia 2:
 
* [[Rozkaz CALL|CALL w]]
 
* [[Rozkaz CALL|CALL w]]
 
* [[Rozkaz JP|JP w]]
 
* [[Rozkaz JP|JP w]]
* [[Rozkaz JR|JR w]]
+
* [[Rozkaz JR|JR w]] - rozkazy skoków względnych możliwe są z użyciem tylko 4 warunków C, NC, Z, NZ
 
* [[Rozkaz RET|RET w]]
 
* [[Rozkaz RET|RET w]]
gdzie <i>w</i> oznacza jeden z możliwych warunków określanych na podstawie stanu [[znaczniki|znaczników]]
+
gdzie <i>w</i> oznacza jeden z możliwych warunków określanych na podstawie stanu [[znaczniki|znaczników]].
 
= Warunki =
 
= Warunki =
 
== C ==
 
== C ==
 
Warunek spełniony, jeśli ustawiony jest znacznik przeniesienia CY=1.
 
Warunek spełniony, jeśli ustawiony jest znacznik przeniesienia CY=1.
 
+
== NC ==
 +
Warunek spełniony, jeśli skasowany jest znacznik przeniesienia CY=0
 
== M ==
 
== M ==
 
Warunek spełniony, jeśli ustawiony jest znacznik znaku S=1
 
Warunek spełniony, jeśli ustawiony jest znacznik znaku S=1
 
* wynik ostatniej operacji arytmetycznej był mniejszy od zera
 
* wynik ostatniej operacji arytmetycznej był mniejszy od zera
 
== NC ==
 
Warunek spełniony, jeśli skasowany jest znacznik przeniesienia CY=0
 
 
== NZ ==
 
Warunek spełniony, jeśli skasowany jest znacznik zera Z=0
 
* wynik ostatniej operacji arytmetycznej był różny od zera
 
 
 
== P ==
 
== P ==
 
Warunek spełniony, jeśli skasowany jest znacznik znaku S=0
 
Warunek spełniony, jeśli skasowany jest znacznik znaku S=0
 
* wynik ostatniej operacji arytmetycznej był większy od zera
 
* wynik ostatniej operacji arytmetycznej był większy od zera
 
 
== PE ==
 
== PE ==
 
Warunek spełniony, jeśli ustawiony jest znacznik parzystości/przepełnienia PV=1  
 
Warunek spełniony, jeśli ustawiony jest znacznik parzystości/przepełnienia PV=1  
Linia 29: Linia 21:
 
lub
 
lub
 
* wystąpiło przepełnienie podczas ostatniej operacji arytmetycznej
 
* wystąpiło przepełnienie podczas ostatniej operacji arytmetycznej
 
 
== PO ==
 
== PO ==
 
Warunek spełniony, jeśli skasowany jest znacznik parzystości/przepełnienia PV=0
 
Warunek spełniony, jeśli skasowany jest znacznik parzystości/przepełnienia PV=0
Linia 35: Linia 26:
 
lub
 
lub
 
* nie wystąpiło przepełnienie podczas ostatniej operacji arytmetycznej
 
* nie wystąpiło przepełnienie podczas ostatniej operacji arytmetycznej
 
 
== Z ==
 
== Z ==
 
Warunek spełniony, jeśli ustawiony jest znacznik zera Z=1.
 
Warunek spełniony, jeśli ustawiony jest znacznik zera Z=1.
 
* wynik ostatniej operacji arytmetycznej był równy zero
 
* wynik ostatniej operacji arytmetycznej był równy zero
 +
== NZ ==
 +
Warunek spełniony, jeśli skasowany jest znacznik zera Z=0
 +
* wynik ostatniej operacji arytmetycznej był różny od zera
 +
[[Kategoria:Programowanie]][[Kategoria:Assembler]]

Aktualna wersja na dzień 13:59, 23 gru 2014

Grupa rozkazów, których sposób wykonania zależy od spełnienia warunku w

  • CALL w
  • JP w
  • JR w - rozkazy skoków względnych możliwe są z użyciem tylko 4 warunków C, NC, Z, NZ
  • RET w

gdzie w oznacza jeden z możliwych warunków określanych na podstawie stanu znaczników.

Warunki

C

Warunek spełniony, jeśli ustawiony jest znacznik przeniesienia CY=1.

NC

Warunek spełniony, jeśli skasowany jest znacznik przeniesienia CY=0

M

Warunek spełniony, jeśli ustawiony jest znacznik znaku S=1

  • wynik ostatniej operacji arytmetycznej był mniejszy od zera

P

Warunek spełniony, jeśli skasowany jest znacznik znaku S=0

  • wynik ostatniej operacji arytmetycznej był większy od zera

PE

Warunek spełniony, jeśli ustawiony jest znacznik parzystości/przepełnienia PV=1

  • wynik ostatniej operacji logicznej był parzysty

lub

  • wystąpiło przepełnienie podczas ostatniej operacji arytmetycznej

PO

Warunek spełniony, jeśli skasowany jest znacznik parzystości/przepełnienia PV=0

  • wynik ostatniej operacji logicznej był nieparzysty

lub

  • nie wystąpiło przepełnienie podczas ostatniej operacji arytmetycznej

Z

Warunek spełniony, jeśli ustawiony jest znacznik zera Z=1.

  • wynik ostatniej operacji arytmetycznej był równy zero

NZ

Warunek spełniony, jeśli skasowany jest znacznik zera Z=0

  • wynik ostatniej operacji arytmetycznej był różny od zera