12 -bitowy ND812 , wyprodukowany przez Nuclear Data, Inc. , był komercyjnym minikomputerem opracowanym na rynek obliczeń naukowych. Nuclear Data wprowadziło go w 1970 roku w cenie poniżej 10 000 USD (równowartość około 70 000 USD w 2021 r.).
Opis
Rejestry ND812
|
0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
1 1
|
(pozycja bitu)
|
Główne akumulatory
|
J |
akumulator J
|
k |
akumulator K
|
Subakumulatory
|
R |
akumulator R
|
S |
akumulator S
|
Licznik programu
|
komputer |
Licznik programów _ _ |
Flagi stanu
|
|
O
|
|
O verflow bit |
|
F
|
Bit opóźnienia F
|
Rejestry wewnętrzne (niedostępne za pomocą kodu)
|
IR |
Rejestr instrukcji
|
PAN |
Rejestr pamięci
|
ZNISZCZYĆ |
Rejestr adresu pamięci
|
|
Architektura ma prostą zaprogramowaną magistralę we/wy oraz kanał DMA . Zaprogramowana magistrala I/O zwykle obsługuje urządzenia peryferyjne o niskiej i średniej szybkości, takie jak drukarki , dalekopisy , dziurkacze taśmy papierowej i czytniki, podczas gdy DMA jest używany do ekranów kineskopowych z piórem świetlnym , przetworników analogowo-cyfrowych , cyfrowych przetworniki analogowo-analogowe , napędy taśmowe , napędy dysków .
Rozmiar słowa , 12 bitów, jest wystarczająco duży, aby obsłużyć liczby całkowite bez znaku od 0 do 4095 – wystarczająco szeroki do sterowania prostymi maszynami. To również wystarczy do obsługi numerów ze znakiem od -2048 do +2047. Jest to większa precyzja niż suwak logarytmiczny lub większość komputerów analogowych . Dwanaście bitów może również przechowywać dwa sześciobitowe znaki (uwaga, sześć bitów nie wystarcza na dwa przypadki, w przeciwieństwie do „pełniejszego” ASCII zestaw znaków). „Kod ND” był jednym z takich 6-bitowych kodowań znaków, które obejmowały wielkie litery alfabetu, cyfry, podzbiór znaków interpunkcyjnych i kilka znaków kontrolnych. Podstawowa konfiguracja ND812 ma pamięć główną zawierającą 4096 dwunastobitowych słów z czasem cyklu 2 mikrosekundy. Pamięć można rozszerzyć do 16 000 słów w krokach co 4 000 słów. Bity w słowie są numerowane od najbardziej znaczącego bitu (bit 11) do najmniej znaczącego bitu (bit 0).
Model programistyczny składa się z czterech rejestrów akumulatorów: dwóch akumulatorów głównych J i K oraz dwóch akumulatorów podrzędnych R i S. Dla akumulatorów głównych przewidziany jest bogaty zestaw operacji arytmetycznych i logicznych oraz instrukcje wymiany danych między głównymi akumulatorami i podakumulatory. Wykonywanie warunkowe jest realizowane za pomocą instrukcji „pomiń”. Warunek jest testowany, a kolejna instrukcja jest wykonywana lub pomijana w zależności od wyniku testu. Kolejna instrukcja jest zwykle instrukcją skoku, gdy potrzebna jest więcej niż jedna instrukcja w przypadku niepowodzenia testu.
Wejście wyjście
Funkcje wejścia/wyjścia obejmują programowalne przerwania z 4 poziomami priorytetu, które mogą być przechwytywane w dowolnym miejscu w pierwszych 4K słowach pamięci. We/wy mogą przesyłać 12 lub 24 bity, odbierać 12 lub 24 bity lub przesyłać i odbierać 12 bitów w jednym cyklu. Instrukcje we/wy obejmują 4 bity do tworzenia impulsów do sterowania urządzeniami peryferyjnymi. Urządzenia peryferyjne we/wy można podłączyć za pomocą złącza sygnałowego 76, które umożliwia bezpośredni dostęp do pamięci przez urządzenia peryferyjne. DMA odbywa się poprzez „kradzież cyklu” z procesora w celu przechowywania słów bezpośrednio w systemie pamięci rdzenia.
Nuclear Data dostarczyło interfejsy do następujących urządzeń peryferyjnych:
- Urządzenia do przechowywania masowego
-
Diablo Model 31
- Kaseta z dyskiem o wysokiej gęstości Diablo Model 31
- Modele dysków EDP ze stałą głowicą 3008, 3016, 3032, 3064 lub 3120
- Urządzenia wejścia/wyjścia z taśmą magnetyczną
- Magnetyczna kaseta magnetofonowa
-
7-ścieżkowa taśma magnetyczna PEC
- 9-ścieżkowa taśma magnetyczna PEC
- Urządzenia wejścia/wyjścia z taśmą papierową
- Czytnik taśm fotoelektrycznych Superior Electric Model TRP125-5 (125 znaków/s)
- Czytnik taśmy fotoelektrycznej Dataterm Model HS300 (300 znaków/s)
- Czytnik taśmy fotoelektrycznej Remex Model RPF1150B (200 znaków/s)
- Dziurkacz do taśmy mylarowej Remex Model RPF1075B (75 znaków/s)
- Czytnik taśmy papierowej Tally Model 1504 (60 znaków/s)
- Dziurkacz do taśmy papierowej Tally Model 1505 (60 znaków/s)
- Teletype Model BRPE11 dziurkacz do taśmy papierowej (110 znaków/s)
- Urządzenia we/wy w wersji papierowej
Wyposażenie programistyczne
ND812 nie miał systemu operacyjnego, tylko panel przedni oraz przełączniki uruchamiania i zatrzymywania. Funkcja I / O umożliwiała urządzeniom peryferyjnym bezpośrednie ładowanie programów do pamięci, gdy komputer był zatrzymany i nie wykonywał instrukcji. Inną opcją było wprowadzenie krótkiego programu ładującego, który byłby używany do ładowania żądanego programu z urządzenia peryferyjnego, takiego jak dalekopis lub czytnik taśmy papierowej. Ponieważ pamięć rdzenia jest nieulotna, wyłączenie komputera nie spowodowało utraty danych ani programów.
Nuclear Data udostępniła szereg programów systemowych do użytku z ND812: asembler BASC-12, edytor tekstu symbolicznego, interpreter NUTRAN i dyskowy edytor tekstu symbolicznego,
Asembler BASC-12
Dostarczono asembler o nazwie BASC-12. BASC-12 był asemblerem dwuprzebiegowym z opcjonalnym trzecim przebiegiem. Przebieg pierwszy generuje tablicę symboli, przebieg drugi tworzy binarną taśmę wyjściową, a przebieg trzeci wyświetla listę programu.
Przykład asemblera z podręcznika Zasady programowania komputera ND812 pokazano poniżej:
/Wprowadź dwie nierówne liczby „A” i „B”, porównaj te dwie liczby /i określ, która z nich jest większa, i wypisz dosłowne stwierdzenie /„A > B” lub „B > A”, zależnie od przypadku. / /Wprowadź i zapisz wartości dla A i B *200 Start, TIF /Wyczyść flagę TTY Wejście JPS /Pobierz wartość dla A STJ A Wejście JPS /Pobierz wartość dla B STJ B / /Określ, która z dwóch wartości jest większa LDJ A SBJ B /Odejmij B od A SIP J /Test na dodatni wynik JMP BRAN /Nie! B > A LDJ ABCST /Tak! A > B SKIP /Pomiń następną instrukcję BRAN, LDJ BACST / /Ustaw i wyślij wyrażenie / JPS OUT STOP JMP START / /Obszar pracy lub przechowywania danych / A, 0 /Stała A B, 0 /Stała B ABCST, AB /Adres A > Literał B BACST, BA /Adres B > Literał A C260, 260 /Stała strefy ASCII / /Procedura wejścia + pasek strefy ASCII / Wejście, 0 /Punkt wejścia TIS JMP .-1 TRF TCP /Wejście echa w dalekopisie TOS JMP .-1 SBJ C260 JMP@ INPUT / /Procedura wyjściowa - Wyjście Wyrażenie ASCII / Out, 0 /Punkt wejścia STJ LOOP+1 LDJ C5 /Ustaw numer stałej znakowej STJ CTR / /Pętla danych wyjściowych / Loop, TWLDJ 0 TCP TOS JMP .-1 ISZ LOOP+1 DSZ CTR /Test dla wszystkich znaków out JMP LOOP /No JMP@ Out /Return C5, 5 CTR, 0 / /Komunikaty wyjściowe / AB, 215 212 301 /A 276 /> 302 /B BA, 215 212 302 /B 276 /> 301 /A $ /Koniec znaku
NUTRAN
Dostarczono NUTRAN, konwersacyjny język podobny do FORTRAN . NUTRAN był przeznaczony do ogólnego programowania naukowego. Poniżej przedstawiono próbkę NUTRAN:
1 DRUKUJ 'WPROWADZENIE WARTOŚCI DLA X I Y' 2 WPROWADŹ X,Y 3 Z=X+Y 4 DRUKUJ 'X+Y= ',Z 5 STOP
Przykład konwersacyjnego charakteru NUTRAN pokazano poniżej. >
jest wierszem polecenia, a :
jest wierszem wprowadzania.
>1.G WARTOŚCI WPROWADZANE DLA X I Y :3 :2 X+Y= .5000000E 1 >
Formaty instrukcji
Zestaw instrukcji składa się z instrukcji pojedynczego i podwójnego słowa. Operandy mogą być bezpośrednie, bezpośrednie lub pośrednie. Natychmiastowe operandy są kodowane bezpośrednio w instrukcji jako wartość literalna. Bezpośrednie operandy są kodowane jako adres operandu. Operandy pośrednie kodują adres słowa zawierającego wskaźnik do operandu.
Instrukcje pojedynczego słowa
0
|
|
|
3 |
4 |
5 |
6 |
|
|
|
|
11 |
Operacja |
D/I |
+/- |
Przemieszczenie |
Bit przemieszczenia i znaku umożliwiają instrukcje pojedynczego słowa adresowanie lokalizacji między -63 a +63 lokalizacji instrukcji. Bit 4 instrukcji pozwala na wybór między adresowaniem pośrednim a bezpośrednim. Kiedy przemieszczenie jest używane jako adres pośredni, zawartość lokalizacji, która jest +/-63 miejscami od lokalizacji instrukcji, jest używana jako wskaźnik do rzeczywistego operandu.
Wiele instrukcji zawierających pojedyncze słowa nie odwołuje się do pamięci i wykorzystuje bity 4 i 5 jako część specyfikacji operacji.
Dosłowny format
0
|
|
|
3 |
4 |
5 |
6 |
|
|
|
|
11 |
Operacja |
Instrukcja |
Dosłowny |
Format grupy 1
0
|
|
|
3 |
4 |
5 |
6 |
7 |
8 |
|
|
11 |
0010 |
k |
J |
Shift Obrót |
Licznik zmian |
Instrukcje grupy 1 wykonują funkcje arytmetyczne, logiczne, wymiany i przesuwania na rejestrach akumulatora. Obejmuje to sprzętowe instrukcje mnożenia i dzielenia. Bit 4 jest ustawiany, jeśli ma to wpływ na rejestr K. Bit 5 jest ustawiany, jeśli dotyczy to rejestru J. Obydwa bity są ustawione, co wpływa na oba rejestry.
Formuła grupy 2
0
|
|
|
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
0011 |
k |
J |
OW |
Zestaw komp |
Wyczyść komp |
0 1 |
>= 0 < 0 |
!= 0 != 0 |
Instrukcje formatu grupy 2 sprawdzają warunki wewnętrzne rejestrów akumulatorów J i K, manipulują bitami przepełnienia i stanu flagi oraz zapewniają operacje uzupełniania, zwiększania i negowania rejestrów akumulatorów J i K. Bity 9, 10 i 11 wybierają testowany warunek.
Instrukcja w dwóch słowach
0
|
|
2 |
3 |
|
|
6 |
7 |
8 |
9 |
10 |
11 |
Operacja |
Instrukcja |
Ind |
KJ wg. |
Zmień pola |
MF1 |
MF2 |
Bezwzględny adres 12-bitowy |
Bit 9, Change Fields, zapobiega odwoływaniu się adresu bezwzględnego do innego pola niż to, które zawiera instrukcję. Gdy bit 8 ma wartość 1, górny akumulator K jest używany z instrukcją, w przeciwnym razie używany jest dolny akumulator J. Gdy bit 7 ma wartość 1, używane jest adresowanie pośrednie, w przeciwnym razie używane jest adresowanie bezpośrednie.
Format słowa statusu
0
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Flaga |
Przelewowy |
JPS |
Int |
IONL |
MONA |
IONB |
IONH |
Bieżące wykonanie |
|
MF0 |
MF1 |
MF1 |
MF2 |
|
MF1 |
MF2 |
Rejestr statusu nie istnieje jako odrębny rejestr. Jest to zawartość kilku grup wskaźników, które są przechowywane w rejestrze J, gdy jest to pożądane. Bity JPS i Int przechowują bieżącą zawartość pola, która byłaby używana podczas instrukcji JPS lub przerwania. Bity flagi i przepełnienia można ustawić jawnie z zawartości rejestru J za pomocą instrukcji RFOV, ale pozostałe bity muszą być ustawione odrębnymi instrukcjami.
podprogramy
Procesor ND812 zapewnia prosty stos dla operandów, ale nie używa tego mechanizmu do przechowywania adresów powrotu podprogramu. Zamiast tego adres zwrotny jest przechowywany w miejscu docelowym instrukcji JPS
, a następnie rejestr PC
jest aktualizowany, aby wskazywał lokalizację następującą po zapisanym adresie zwrotnym. Aby powrócić z podprogramu, pośredni skok przez początkową lokalizację podprogramu przywraca licznik programu do instrukcji następującej po JPS
.
Zestaw instrukcji
Instrukcje dotyczące pamięci
Mnemonik asemblera |
Kod ósemkowy |
Opis |
Rejestry, których to dotyczy |
ANDF |
2000 |
ORAZ z J, Naprzód |
J |
LDJ |
5000 |
Załaduj J |
J |
TWLDJ |
0500 |
Załaduj J |
J |
STJ |
5400 |
sklep j |
Pamięć |
TWSTJ |
0540 |
sklep j |
Pamięć |
TWLDK |
0510 |
Załaduj K |
k |
TWSTK |
0550 |
Sklep K |
Pamięć |
PRZYM |
4400 |
Dodaj do j |
J, OW |
TWADJ |
0440 |
Dodaj do j |
J, OW |
SBJ |
4000 |
Odejmij od j |
J, OW |
TWSBJ |
0400 |
Odejmij od j |
J, OW |
TWADK |
0450 |
Dodaj do k |
K, OW |
TWSBK |
0410 |
Odejmij od k |
K, OW |
ISZ |
3400 |
Zwiększ pamięć i pomiń, jeśli zero |
Pamięć, komputer |
TWISZ |
0340 |
Zwiększ pamięć i pomiń, jeśli zero |
Pamięć, komputer |
DSZ |
3000 |
Zmniejsz pamięć i pomiń, jeśli zero |
Pamięć, komputer |
TWDSZ |
0300 |
Zmniejsz pamięć i pomiń, jeśli zero |
Pamięć, komputer |
SMJ |
2400 |
Pomiń, jeśli pamięć nie jest równa J |
komputer |
TWSMJ |
0240 |
Pomiń, jeśli pamięć nie jest równa J |
komputer |
TWSMK |
0250 |
Pomiń, jeśli pamięć nie jest równa K |
komputer |
JMP |
6000 |
Skok bezwarunkowy |
komputer |
TWJMP |
0600 |
Skok bezwarunkowy |
komputer |
JPS |
6400 |
Skok do podprogramu |
Pamięć, komputer |
TWJPS |
0640 |
Skok do podprogramu |
Pamięć, komputer |
XCT |
7000 |
Wykonaj instrukcję |
|
Operacje logiczne
Mnemonik asemblera |
Kod ósemkowy |
Opis |
Rejestry, których to dotyczy |
I j |
1100 |
Logiczne I J, K w J |
J |
I K |
1200 |
Logiczne I J, K na K |
k |
I JK |
1300 |
Logiczne I J,K na J,K |
J, K |
Operacje arytmetyczne na akumulatorach
Mnemonik asemblera |
Kod ósemkowy |
Opis |
Rejestry, których to dotyczy |
AJK J |
1120 |
(J + K) do J |
J, OW |
NAJK J |
1130 |
-(J + K) do J |
J, OW |
SJK J |
1121 |
(J - K) do J |
J, OW |
NSJK J |
1131 |
-(J - K) do J |
J, OW |
ADR j |
1122 |
(R + J) do J |
J, OW |
NADR J |
1132 |
-(R + J) do J |
J, OW |
ADS j |
1124 |
(S + J) do J |
J, OW |
NADS J |
1134 |
-(S + J) do J |
J, OW |
SBR J |
1123 |
(R - J) do J |
J, OW |
NSBR J |
1133 |
-(R-J) do J |
J, OW |
SBS J |
1125 |
(S - J) do J |
J, OW |
NSBS J |
1135 |
-(S - J) do J |
J, OW |
AJK K |
1220 |
(J + K) do K |
K, OW |
NAJK K |
1230 |
-(J + K) do K |
K, OW |
SJK K |
1221 |
(J - K) do K |
K, OW |
NSJK K |
1231 |
-(J - K) do K |
K, OW |
ADR K |
1222 |
(R + K) do K |
K, OW |
NADR K |
1232 |
-(R + K) do K |
K, OW |
ADS K |
1224 |
(S + K) do K |
K, OW |
NADS K |
1234 |
-(S + K) do K |
K, OW |
SBR K |
1223 |
(R - K) do K |
K, OW |
NSBR K |
1233 |
-(R-K) do K |
K, OW |
SBS K |
1225 |
(S - K) do K |
K, OW |
NSBS K |
1235 |
-(S - K) do K |
K, OW |
AJK JK |
1320 |
(J + K) do J, K |
J, K, OV |
NAJK JK |
1330 |
(J + K) do J, K |
J, K, OV |
SJK JK |
1321 |
(J - K) do J, K |
J, K, OV |
NSJK JK |
1331 |
-(J - K) do J,K |
J, K, OV |
MPY |
1000 |
Pomnóż J przez K do R, S |
J, K, R, S, OV |
DIV |
1001 |
Podziel J,K przez R na J,K |
J, K, R, S, OV |
Instrukcje przesuwania/obracania
Mnemonik asemblera |
Kod ósemkowy |
Opis |
Rejestry, których to dotyczy |
SFTZ J |
1140 |
Shift J w lewo N |
J |
SFTZ K |
1240 |
Shift K w lewo N |
k |
SFTZ JK |
1340 |
Shift J, K w lewo N |
J, K |
ROTD J |
1160 |
Obróć J w lewo N |
J |
ROTD K |
1260 |
Obróć K w lewo N |
k |
ROTD JK |
1360 |
Obróć J, K w lewo N |
J, K |
Operacje ładowania i wymiany
Mnemonik asemblera |
Kod ósemkowy |
Opis |
Rejestry, których to dotyczy |
LJSW |
1010 |
Załaduj J z rejestru przełączników |
J |
LRF J |
1101 |
Załaduj R z J |
R |
LJFR |
1102 |
Załaduj J z R |
J |
EXJR |
1103 |
Wymień J i R |
J, R |
LSFK |
1201 |
Załaduj S z K |
S |
LKFS |
1202 |
Załaduj K z S |
k |
EXKS |
1203 |
Wymień K i S |
K, S |
LKFJ |
1204 |
Załaduj K z J |
k |
EXJK |
1374 |
Wymień J i K |
J, K |
LRSFJK |
1301 |
Załaduj R, S z J, K |
R, S |
LJKFRS |
1302 |
Załaduj J, K z R, S |
J, K |
EXJRKS |
1303 |
Wymień J, K i R, S |
J, K, R, S |
LJST |
1011 |
Załaduj rejestr stanu do J |
J |
RFOV |
1002 |
Przeczytaj flagę, OV od J |
J |
Pominięcia warunkowe
Mnemonik asemblera |
Kod ósemkowy |
Opis |
Rejestry, których to dotyczy |
ROZMIAR J |
1505 |
Pomiń, jeśli J jest równe zeru |
komputer |
ROZMIAR K |
1605 |
Pomiń, jeśli K jest równe zeru |
komputer |
ROZMIAR JK |
1705 |
Pomiń, jeśli zarówno J, jak i K są równe zeru |
komputer |
SNZ J |
1501 |
Pomiń, jeśli J nie jest równe zeru |
komputer |
SNZ K |
1601 |
Pomiń, jeśli K nie jest równe zeru |
komputer |
SNZ JK |
1701 |
Pomiń, jeśli J lub K nie są równe zeru |
komputer |
SIP J |
1501 |
Pomiń, jeśli J jest dodatnie |
komputer |
SIP K |
1602 |
Pomiń, jeśli K jest dodatnie |
komputer |
SIP JK |
1702 |
Pomiń, jeśli zarówno J, jak i K są dodatnie |
komputer |
GRZECH J |
1506 |
Pomiń, jeśli J jest ujemne |
komputer |
ZLEW |
1606 |
Pomiń, jeśli J jest ujemne |
komputer |
SIN JK |
1706 |
Pomiń, jeśli zarówno J, jak i K są ujemne |
komputer |
Wyczyść, uzupełnij, zwiększ i ustaw
Mnemonik asemblera |
Kod ósemkowy |
Opis |
Rejestry, których to dotyczy |
CLR J |
1510 |
Wyczyść J |
J |
CLR K |
1610 |
Wyczyść K |
k |
CLR JK |
1710 |
Wyczyść J, K |
J, K |
CMP J |
1520 |
uzupełnienie j |
J |
CMP K |
1620 |
Dopełnienie K |
k |
CMP JK |
1720 |
Uzupełnij J, K |
J, K |
ZESTAW j |
1530 |
Ustaw J na -1 |
J |
ZESTAW K |
1630 |
Ustaw K na -1 |
k |
SET JK |
1730 |
Ustaw J, K na -1 |
J, K |
Instrukcje bitowe przepełnienia
Mnemonik asemblera |
Kod ósemkowy |
Opis |
Rejestry, których to dotyczy |
ROZMIAR O |
1445 |
Pomiń w przypadku przepełnienia zera |
komputer |
SNZ O |
1441 |
Pomiń, jeśli ustawiono przepełnienie |
komputer |
CLR O |
1450 |
Wyczyść przelew |
OW |
CMP O |
1460 |
Przepełnienie dopełniacza |
OW |
ZESTAW O |
1470 |
Ustaw przelew |
OW |
Instrukcje bitowe flagi
Mnemonik asemblera |
Kod ósemkowy |
Opis |
Rejestry, których to dotyczy |
ROZMIAR |
1405 |
Pomiń, jeśli oznacz zero |
komputer |
SNZ |
1401 |
Pomiń, jeśli flaga jest ustawiona |
komputer |
CLR |
1410 |
Wyczyść flagę |
F |
CMP |
1420 |
Flaga uzupełniająca |
F |
USTAWIĆ |
1430 |
Ustaw flagę |
F |
Inkrementuj i neguj
Mnemonik asemblera |
Kod ósemkowy |
Opis |
Rejestry, których to dotyczy |
INC j |
1504 |
Przyrost J |
J |
INC K |
1604 |
Przyrost K |
k |
INCJK |
1704 |
Przyrost J, K |
J, K |
NEG J |
1524 |
zaprzeczyć J |
J |
NEG K |
1624 |
zanegować K |
k |
NEG JK |
1724 |
Zaprzeczyć J, K |
J, K |
Instrukcje przerwań
Mnemonik asemblera |
Kod ósemkowy |
Opis |
Rejestry, których to dotyczy |
IONH |
1004 |
Włącz poziom przerwania H |
|
MONA |
1006 |
Włącz poziom przerwania A, H |
|
IONB |
1005 |
Włącz poziom przerwania B, H |
|
IONN |
1007 |
Włącz wszystkie poziomy przerwań |
|
IOFF |
1003 |
Wyłącz wszystkie przerwania |
|
Instrukcje logiki awarii zasilania
Mnemonik asemblera |
Kod ósemkowy |
Opis |
Rejestry, których to dotyczy |
PION |
1500 |
Awaria zasilania włączona |
|
PIOF |
1600 |
Brak zasilania |
|
SKPL |
1440 |
Pomiń przy niskim poborze mocy |
komputer |
Dosłowne instrukcje
Mnemonik asemblera |
Kod ósemkowy |
Opis |
Rejestry, których to dotyczy |
I JA |
2100 |
I dosłownie z J |
J |
DODAJ |
2200 |
Dodaj literał do J |
J |
SUBL |
2300 |
Odejmij literał od J |
J |
Instrukcje rejestrów INT i JPS
Mnemonik asemblera |
Kod ósemkowy |
Opis |
Rejestry, których to dotyczy |
LDREG |
7720 |
Załaduj JPS z J, INT z K |
|
LDJK |
7721 |
Załaduj JPS do J, INT do K |
J, K |
RJIB |
7722 |
Ustaw status JPS i INT |
|
System dalekopisów
Mnemonik asemblera |
Kod ósemkowy |
Opis |
Rejestry, których to dotyczy |
TIS |
7404 |
Pomiń, jeśli klawiatura jest gotowa |
komputer |
TIR |
7402 |
Załaduj klawiaturę do J |
J |
TIF |
7401 |
Pobieranie czytnika klawiatury |
|
TRF |
7403 |
Pobieranie odczytu z klawiatury |
J |
TOS |
7414 |
Pomiń, jeśli drukarka jest gotowa do dziurkowania |
komputer |
Spis treści |
7411 |
Wyczyść flagę |
|
TCP |
7413 |
Wyczyść flagę, drukuj dziurkaczem |
|
SZCZYT |
7412 |
Dziurkacz |
|
Taśma papierowa o dużej szybkości
Mnemonik asemblera |
Kod ósemkowy |
Opis |
Rejestry, których to dotyczy |
JEGO |
7424 |
Pomiń czytnik HS gotowy |
komputer |
HIR |
7422 |
Wyczyść flagę; odczyt bufora HS |
J |
H, JEŻELI |
7421 |
Pobieranie czytnika HS |
|
HRF |
7423 |
Czytnik HS odczyt-pobranie |
J |
HOS |
7434 |
Pomiń, jeśli dziurkacz RO jest gotowy |
komputer |
HOL |
7432 |
Wyczyść flagę; ładowanie bufora z J |
|
CHMIEL |
7431 |
Uderzenie w uderzenie HS |
|
HLP |
7433 |
Załaduj i uderz dziurkaczem HS |
|
System kaset magnetofonowych
Mnemonik asemblera |
Kod ósemkowy |
Opis |
Rejestry, których to dotyczy |
CSLCT1 |
7601 |
Umieść kasetę 1 w trybie on-line |
|
CSLCT2 |
7602 |
Umieść kasetę 2 w trybie on-line |
|
CSLCT3 |
7604 |
Umieść kasetę 3 w trybie online |
|
CSTR |
0740, 0124 |
Wybrano pominięcie TWIO, jeśli transport jest gotowy |
komputer |
CSFM |
0740, 0104 |
Pomiń znak pliku |
komputer |
CSET |
0740, 0110 |
Pomiń transport na końcu taśmy |
komputer |
CSNE |
0740, 0122 |
Pomiń, jeśli nie ma błędu |
komputer |
CSBT |
0740, 0130 |
Pomiń transport na początku taśmy |
komputer |
CCLF |
0740, 0141 |
Wyczyść wszystkie flagi kontrolne kasety |
|
CWFM |
0740, 0151 |
Napisz znacznik pliku |
|
CSWR |
0740, 0152 |
Pomiń, jeśli zapis jest gotowy |
komputer |
CWRT |
0740, 0154 |
Wpisz J do bufora |
|
CSRR |
0740, 0142 |
Pomiń, jeśli jesteś gotowy |
komputer |
CRDT |
0740, 0144 |
Wczytaj bufor do J |
J |
CHSF |
0740, 0101 |
Wysoka prędkość do przodu do EOT |
|
CSPF |
0740, 0102 |
Spacja do przodu do znaku pliku |
|
CHSR |
0740, 0121 |
Szybki bieg wsteczny do BOT |
|
Różne instrukcje
Mnemonik asemblera |
Kod ósemkowy |
Opis |
Rejestry, których to dotyczy |
ZATRZYMYWAĆ SIĘ |
0000 |
Zatrzymaj egzekucję |
|
POMINĄĆ |
1442 |
Bezwarunkowe pominięcie |
komputer |
BEZCZYNNY |
1400 |
Opóźnienie o jeden cykl |
|
TWIO |
0740 |
Wejście/wyjście składające się z dwóch słów |
|
Linki zewnętrzne