Mnemonic: | JUN (Jump unconditional) |
1st word OPR OPA: | 0100 A3 A3 A3 A3 |
2nd word OPR OPA: | A2 A2 A2 A2 Al Al Al Al |
Symbolic: | Al Al Al Al --> PL, A2 A2 A2 A2 --> PM, A3 A3 A3 A3 --> PH |
Opis: | Sterowanie programem jest bezwarunkowo przekazywane do lokalizatora instrukcji pod adresem A3 A3 A3 A3, A2 A2 A2 A2, Al Al Al Al. |
Mnemonic: | JMS (Jump to Subroutine) |
1st word OPR OPA: | 0101 A3 A3 A3 A3 |
2nd word OPR OPA: | A2 A2 A2 A2 A1 A1 A1 A1 |
Symbolic: | Al Al Al Al --> PL, A2 A2 A2 A2 --> PM, A3 A3 A3 A3 --> PH |
Opis: | Adres następnej instrukcji w kolejności po JMS (adres zwrotny) jest zapisywany na stosie push down. Sterowanie programem przekazywane jest do instrukcji umieszczonej pod adresem 12-bitowym (A3A3A3A3A2A2A2A2A1A1A1A1). Wykonanie instrukcji powrotu (BBL) spowoduje wyciągnięcie zapisanego adresu ze stosu, dlatego kontrola programu jest przenoszona do następnej instrukcji sekwencyjnej po ostatnim JMS. Stos przesuwany ma 4 rejestry . Jeden z nich jest używany jako licznik programu, dlatego zagnieżdżanie JMS może mieć maksymalnie 3 poziomy. |
PRZYKŁAD: |
| Stack | | Stack | |
No JMS -> received |
| -> JMS#1 -> received |
| -> |
| Stack | | Stack | |
JMS#2 -> received |
| -> JMS#3 -> received |
PC | Rtn addr#3 | Rtn addr#2 | Rtn addr#1 |
| -> |
| Stack | | Stack | |
JMS#4 -> received |
Rtn addr#4 | Rtn addr#3 | Rtn addr#2 | PC |
| -> BBL -> received |
| |
Najgłębszy adres zwrotny został utracony. |
|
Mnemonic: | JCN (Jump conditional) |
1st word OPR OPA: | 0001 C1C2C3C4 |
2nd word OPR OPA: | A2 A2 A2 A2 A1 A1 A1 A1 |
Symbolic: | If C1C2C3C4 is true, A2A2A2A2 --> PM A1A1A1A1 --> PL, PH unchanged if C1C2C3C4 is false, (PH) --> PH, (PM) --> PM, (PL + 2) --> PL |
Opis: | Jeśli wyznaczony kod warunku jest prawdziwy, sterowanie programem jest przekazywane do instrukcji znajdującej się pod 8-bitowym adresem A2A2A2A2, A1A1A1A1 na tej samej stronie (ROM), na której znajduje się JCN. Jeśli warunek nie jest prawdziwy, następna instrukcja w kolejności po wykonaniu JCN. Bity warunku są przypisywane w następujący sposób: C1 = 0 Nie odwracaj warunku skoku C1 = 1 Odwróć warunek skoku C2 = 1 Skocz, jeśli zawartość akumulatora wynosi zero < br> C3 = 1 Skocz, jeśli zawartość przenoszenia/link wynosi 1 C4 = 1 Skocz, jeśli sygnał testowy (styk 10 na 4004) ma wartość zero. |
Przykład: | OPR OPA ------ ------ 0001 0110 Skocz, jeśli akumulator ma wartość zero lub przeniesienie = 1 Kilka warunków można przetestować jednoczesnie. Równanie logiczne opisujące warunek skoku jest podane poniżej:
JUMP = ~C1 . ((ACC = 0) . C2 + (CY = 1) . C3 + ~TEST . C4) + C1 . ~((ACC = 0) . C2 + (CY = 1) . C3 + ~TEST . C4) |
WYJˇTKI: | Jeśli JCN znajduje się na słowach 254 i 255 na stronie ROM, gdy JCN jest wykonywany i warunek jest prawdziwy, sterowanie programem jest przesyłane do 8-bitowego adresu na następnej stronie, na której znajduje się JCN. |
Mnemonic: | ISZ (Increment index register skip if zero) |
1st word OPR OPA: | 0111 RRRR |
2nd word OPR OPA: | A2 A2 A2 A2 A1 A1 A1 A1 |
Symbolic: | (RRRR) + 1 --> RRRR, if result = 0 (PH) --> PH, (PM) --> PM, (PL + 2) --> PL: if result <> 0 (PH) --> PH, A2A2A2A2 --> PM, A1A1A1A1 --> PL |
Opis: | Zawartość wyznaczonego rejestru indeksowego jest zwiększana o 1. Akumulator i przeniesienie/link pozostają niezmienione. Jeśli wynikiem jest zero, wykonywana jest następna instrukcja po ISZ. Jeżeli wynik jest różny od 0, sterowanie programem jest przekazywane do instrukcji znajdującej się pod 8-bitowym adresem A2A2A2A2, A1A1A1A1 na tej samej stronie (ROM), na której znajduje się instrukcja ISZ. |
WYJˇTKI: | Jeśli ISZ znajduje się na słowach 254 i 255 strony ROM, gdy ISZ jest wykonywany i wynik nie jest zerowy, sterowanie programem jest przesyłane do 8-bitowego adresu znajdującego się na następnej stronie w kolejności, a nie na tej samej stronie, na której znajduje się ISZ jest zlokalizowany. |
Mnemonic: | FIM (Fetched immediate from ROM) |
1st word OPR OPA: | 0010 RRR0 |
2nd word OPR OPA: | D2 D2 D2 D2 D1 D1 D1 D1 |
Symbolic: | D2D2D2D2 --> RRR0, D1D1D1D1 --> RRR1 |
Opis: | Drugie słowo reprezentuje 8-bitowe dane, które są ładowane do wyznaczonej pary rejestrów indeksowych. |
|