SAS (asembler): Różnice pomiędzy wersjami

Z Wikipedii, wolnej encyklopedii
[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)'' - rodzina [[makroasembler]]ów polskich [[komputer]]ów [[XYZ]], [[ZAM-2]] i [[ZAM-41]], oraz radzieckiego komputera [[Urał 2]].
'''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

  1. K. Fiałkowski: Autokody i programowanie maszyn cyfrowych. Warszawa: WNT, 1976.