SAS (asembler): Różnice pomiędzy wersjami
[wersja przejrzana] | [wersja przejrzana] |
Usunięta treść Dodana treść
w |
m drobne redakcyjne, drobne techniczne |
||
Linia 1: | Linia 1: | ||
{{Wikisłownik|SAS}} |
{{Wikisłownik|SAS}} |
||
'''SAS''' ''(system adresów symbolicznych)'' |
'''SAS''' ''(system adresów symbolicznych)'' − rodzina [[makroasembler]]ów polskich [[komputer]]ów [[XYZ]], [[ZAM-2]] i [[ZAM-41]], oraz radzieckiego komputera [[Urał 2]]. |
||
== Lista rozkazów == |
== Lista rozkazów == |
||
Linia 6: | Linia 6: | ||
{| class="wikitable" |
{| class="wikitable" |
||
! Kod<br />operacyjny !! Mnemonik !! Opis rozkazu |
|||
|+ |
|||
! Kod operacyjny |
|||
! Mnemonik |
|||
! Opis rozkazu |
|||
|- |
|- |
||
| 0 || SS || Skocz i stop. |
|||
| 0 |
|||
| SS |
|||
| Skocz i stop. |
|||
|- |
|- |
||
| 1 || WR || Wykonaj rozkaz wskazany adresem, po czym wróć do wykonywanego programu. |
|||
| 1 |
|||
| WR |
|||
| Wykonaj rozkaz wskazany adresem, po czym wróć do wykonywanego programu. |
|||
|- |
|- |
||
| 2 || PG || Przygotuj przepisywanie z wejścia albo bębna do pamięci operacyjnej lub z pamięci na wyjście lub bęben. |
|||
| 2 |
|||
| PG |
|||
| Przygotuj przepisywanie z wejścia albo bębna do pamięci operacyjnej lub z pamięci na wyjście lub bęben. |
|||
|- |
|- |
||
| 3 || SK || Skok bezwarunkowy. |
|||
| 3 |
|||
| SK |
|||
| Skok bezwarunkowy. |
|||
|- |
|- |
||
| 4 || SZ || Skocz, jeśli w akumulatorze jest 0. |
|||
| 4 |
|||
| SZ |
|||
| Skocz, jeśli w akumulatorze jest 0. |
|||
|- |
|- |
||
| 5 || SP || Skocz, jeśli w akumulatorze jest liczba dodatnia. |
|||
| 5 |
|||
| SP |
|||
| Skocz, jeśli w akumulatorze jest liczba dodatnia. |
|||
|- |
|- |
||
| 6 || SN || Skocz, jeśli został zasygnalizowany nadmiar. |
|||
| 6 |
|||
| SN |
|||
| Skocz, jeśli został zasygnalizowany nadmiar. |
|||
|- |
|- |
||
| 7 || SW || Skocz, jeśli liczba jedynek w przeczytanym rządku taśmy była parzysta. |
|||
| 7 |
|||
| SW |
|||
| Skocz, jeśli liczba jedynek w przeczytanym rządku taśmy była parzysta. |
|||
|- |
|- |
||
| 8 || SB || Przeskocz dwa rozkazy, jeśli zawartość B-rejestru i wskazanego adresem miejsca pamięci są jednakowe. |
|||
| 8 |
|||
| SB |
|||
| Przeskocz dwa rozkazy, jeśli zawartość B-rejestru i wskazanego adresem miejsca pamięci są jednakowe. |
|||
|- |
|- |
||
| 9 || BT || Binarna taśma. |
|||
| 9 |
|||
| BT |
|||
| Binarna taśma. |
|||
|- |
|- |
||
| 10 || UA || Umieścić w akumulatorze liczbę pobraną z pamięci wskazanej adresem. |
|||
| 10 |
|||
| UA |
|||
| Umieścić w akumulatorze liczbę pobraną z pamięci wskazanej adresem. |
|||
|- |
|- |
||
| 11 || UM || Umieścić liczbę pobraną z pamięci w rejestrze mnożnika. |
|||
| 11 |
|||
| UM |
|||
| Umieścić liczbę pobraną z pamięci w rejestrze mnożnika. |
|||
|- |
|- |
||
| 12 || UB || Umieścić liczbę pobraną z pamięci w B-rejestrze. |
|||
| 12 |
|||
| UB |
|||
| Umieścić liczbę pobraną z pamięci w B-rejestrze. |
|||
|- |
|- |
||
| 13 || DB || Dodaj liczbę pobraną z pamięci do zawartości B-rejestru. |
|||
| 13 |
|||
| DB |
|||
| Dodaj liczbę pobraną z pamięci do zawartości B-rejestru. |
|||
|- |
|- |
||
| 14 || BB || Odejmij liczbę pobraną z pamięci od zawartości B-rejestru. |
|||
| 14 |
|||
| BB |
|||
| Odejmij liczbę pobraną z pamięci od zawartości B-rejestru. |
|||
|- |
|- |
||
| 15 || RB || Umieścić w rejestrze bębnowym liczbę z pamięci wskazanej adresem. |
|||
| 15 |
|||
| RB |
|||
| Umieścić w rejestrze bębnowym liczbę z pamięci wskazanej adresem. |
|||
|- |
|- |
||
| 16 || PP || Przepisz 1 słowo z wejścia lub bębna do pamięci lub z pamięci na bęben albo na wyjście. |
|||
| 16 |
|||
| PP |
|||
| Przepisz 1 słowo z wejścia lub bębna do pamięci lub z pamięci na bęben albo na wyjście. |
|||
|- |
|- |
||
| 17 || PA || Prześlij zawartość akumulatora do miejsca pamięci wskazanego adresem. |
|||
| 17 |
|||
| PA |
|||
| Prześlij zawartość akumulatora do miejsca pamięci wskazanego adresem. |
|||
|- |
|- |
||
| 18 || PM || Prześlij zawartość rejestru mnożnika do pamięci. |
|||
| 18 |
|||
| PM |
|||
| Prześlij zawartość rejestru mnożnika do pamięci. |
|||
|- |
|- |
||
| 19 || PB || Prześlij zawartość B-rejestru do pamięci. |
|||
| 19 |
|||
| PB |
|||
| Prześlij zawartość B-rejestru do pamięci. |
|||
|- |
|- |
||
| 20 || OK || Zaokrąglij zawartość akumulatora i prześlij wynik do pamięci. |
|||
| 20 |
|||
| OK |
|||
| Zaokrąglij zawartość akumulatora i prześlij wynik do pamięci. |
|||
|- |
|- |
||
| 21 || LW || Przesuń w lewo łączną zawartość akumulatora i rejestru mnożnika. |
|||
| 21 |
|||
| LW |
|||
| Przesuń w lewo łączną zawartość akumulatora i rejestru mnożnika. |
|||
|- |
|- |
||
| 22 || PW || Przesuń w prawo łączną zawartość akumulatora i rejestru mnożnika. |
|||
| 22 |
|||
| PW |
|||
| Przesuń w prawo łączną zawartość akumulatora i rejestru mnożnika. |
|||
|- |
|- |
||
| 23 || LC || Przesuń cyklicznie w lewo zawartość akumulatora. |
|||
| 23 |
|||
| LC |
|||
| Przesuń cyklicznie w lewo zawartość akumulatora. |
|||
|- |
|- |
||
| 24 || DO || Dodaj słowo pobrane z pamięci do zawartości akumulatora. |
|||
| 24 |
|||
| DO |
|||
| Dodaj słowo pobrane z pamięci do zawartości akumulatora. |
|||
|- |
|- |
||
| 25 || OD || Odejmij słowo pobrane z pamięci od zawartości akumulatora. |
|||
| 25 |
|||
| OD |
|||
| Odejmij słowo pobrane z pamięci od zawartości akumulatora. |
|||
|- |
|- |
||
| 26 || OB || Odejmuj wartość bezwzględną słowa pobranego z pamięci od wartości bezwzględnej zawartości akumulatora. |
|||
| 26 |
|||
| OB |
|||
| Odejmuj wartość bezwzględną słowa pobranego z pamięci od wartości bezwzględnej zawartości akumulatora. |
|||
|- |
|- |
||
| 27 || MN || Pomnóż słowo z pamięci przez zawartość rejestru mnożnika. 70-bitowy wynik umieścić w akumulatorze i rejestrze mnożnika traktowanych jako całość. |
|||
| 27 |
|||
| MN |
|||
| Pomnóż słowo z pamięci przez zawartość rejestru mnożnika. 70-bitowy wynik umieścić w akumulatorze i rejestrze mnożnika traktowanych jako całość. |
|||
|- |
|- |
||
| 28 || DZ || Łączną zawartość akumulatora i rejestru mnożnika podziel przez liczbę pobraną z pamięci, iloraz umieścić w rejestrze mnożnika, resztę w akumulatorze. |
|||
| 28 |
|||
| DZ |
|||
| Łączną zawartość akumulatora i rejestru mnożnika podziel przez liczbę pobraną z pamięci, iloraz umieścić w rejestrze mnożnika, resztę w akumulatorze. |
|||
|- |
|- |
||
| 29 || KO || Oblicz koniunkcję zawartości rejestru mnożnika i słowa pobranego z pamięci i zapisz ją w akumulatorze. |
|||
| 29 |
|||
| KO |
|||
| Oblicz koniunkcję zawartości rejestru mnożnika i słowa pobranego z pamięci i zapisz ją w akumulatorze. |
|||
|- |
|- |
||
| 30 || AL || Oblicz alternatywę słowa pobranego z pamięci i zawartości akumulatora. |
|||
| 30 |
|||
| AL |
|||
| Oblicz alternatywę słowa pobranego z pamięci i zawartości akumulatora. |
|||
|- |
|- |
||
| 31 || NI || Nic nie rób. |
|||
| 31 |
|||
| NI |
|||
| Nic nie rób. |
|||
|} |
|} |
||
Wersja z 14:16, 26 mar 2015
SAS (system adresów symbolicznych) − rodzina makroasemblerów polskich komputerów XYZ, ZAM-2 i ZAM-41, oraz radzieckiego komputera Urał 2.
Lista rozkazów
W literaturze podany jest zbiór rozkazów symbolicznych dla maszyny cyfrowej ZAM-2. Obejmuje on 32 pozycje. Liczba rozkazów wynika z liczby bitów przeznaczonej na część operacyjną rozkazu (5).
Kod operacyjny |
Mnemonik | Opis rozkazu |
---|---|---|
0 | SS | Skocz i stop. |
1 | WR | Wykonaj rozkaz wskazany adresem, po czym wróć do wykonywanego programu. |
2 | PG | Przygotuj przepisywanie z wejścia albo bębna do pamięci operacyjnej lub z pamięci na wyjście lub bęben. |
3 | SK | Skok bezwarunkowy. |
4 | SZ | Skocz, jeśli w akumulatorze jest 0. |
5 | SP | Skocz, jeśli w akumulatorze jest liczba dodatnia. |
6 | SN | Skocz, jeśli został zasygnalizowany nadmiar. |
7 | SW | Skocz, jeśli liczba jedynek w przeczytanym rządku taśmy była parzysta. |
8 | SB | Przeskocz dwa rozkazy, jeśli zawartość B-rejestru i wskazanego adresem miejsca pamięci są jednakowe. |
9 | BT | Binarna taśma. |
10 | UA | Umieścić w akumulatorze liczbę pobraną z pamięci wskazanej adresem. |
11 | UM | Umieścić liczbę pobraną z pamięci w rejestrze mnożnika. |
12 | UB | Umieścić liczbę pobraną z pamięci w B-rejestrze. |
13 | DB | Dodaj liczbę pobraną z pamięci do zawartości B-rejestru. |
14 | BB | Odejmij liczbę pobraną z pamięci od zawartości B-rejestru. |
15 | RB | Umieścić w rejestrze bębnowym liczbę z pamięci wskazanej adresem. |
16 | PP | Przepisz 1 słowo z wejścia lub bębna do pamięci lub z pamięci na bęben albo na wyjście. |
17 | PA | Prześlij zawartość akumulatora do miejsca pamięci wskazanego adresem. |
18 | PM | Prześlij zawartość rejestru mnożnika do pamięci. |
19 | PB | Prześlij zawartość B-rejestru do pamięci. |
20 | OK | Zaokrąglij zawartość akumulatora i prześlij wynik do pamięci. |
21 | LW | Przesuń w lewo łączną zawartość akumulatora i rejestru mnożnika. |
22 | PW | Przesuń w prawo łączną zawartość akumulatora i rejestru mnożnika. |
23 | LC | Przesuń cyklicznie w lewo zawartość akumulatora. |
24 | DO | Dodaj słowo pobrane z pamięci do zawartości akumulatora. |
25 | OD | Odejmij słowo pobrane z pamięci od zawartości akumulatora. |
26 | OB | Odejmuj wartość bezwzględną słowa pobranego z pamięci od wartości bezwzględnej zawartości akumulatora. |
27 | MN | Pomnóż słowo z pamięci przez zawartość rejestru mnożnika. 70-bitowy wynik umieścić w akumulatorze i rejestrze mnożnika traktowanych jako całość. |
28 | DZ | Łączną zawartość akumulatora i rejestru mnożnika podziel przez liczbę pobraną z pamięci, iloraz umieścić w rejestrze mnożnika, resztę w akumulatorze. |
29 | KO | Oblicz koniunkcję zawartości rejestru mnożnika i słowa pobranego z pamięci i zapisz ją w akumulatorze. |
30 | AL | Oblicz alternatywę słowa pobranego z pamięci i zawartości akumulatora. |
31 | NI | Nic nie rób. |
Bibliografia
- K. Fiałkowski: Autokody i programowanie maszyn cyfrowych. Warszawa: WNT, 1976.