ASSK, to podstawowyjęzyk programowania itranslator dla komputeraK-202. Język ten jestjęzykiem symbolicznym operującym na poziomierozkazów maszynowych tegokomputera, a więc we współczesnejnomenklaturze –asemblerem.
W języku tym składnia wyróżnia następujące jednostki:
Alfabet języka opierał się na podzbiorze znakówISO-7. Literały liczbowe mogły być wyrażane jakoliczby całkowite zapisane w systemiedziesiętnym lubósemkowym oraz jakoliczby zmiennoprzecinkowe (przy czym operacje na takich liczbach wykonywane były za pomocąekstrakodów). Inneliterały dostępne w języku to parametry alfanumeryczne (zbliżone w swych właściwościach do współczesnychliterałów łańcuchowych). Zdefiniowano także tekst alfanumeryczny, tj. ciąg znaków ujętych wcudzysłowy, który był umieszczany w pamięci operacyjnej, np."tekst alfanumeryczny".Identyfikatory ietykiety tworzone były za pomocąliter icyfr oraz wybranych znaków dodatkowych, przy czym pod uwagę branych było tylko 6 pierwszych znaków. Dostępne były podstawoweoperatory, m.in.arytmetyczne ibitowe.
Rozkazy były zapisywane za pomocą odpowiednichkodów z jednym lub dwoma argumentami. Argumentem mogło być również wyrażenie arytmetyczne. Istniała możliwość stosowania zmiennych translacji, a więc zmiennych przechowujących wartość wyznaczaną na etapie translacji, a wystąpienie odwołania do takiejzmiennej powodowało wstawienie aktualnej jej wartości do wyrażenia. Można się było również odwoływać do jednego z 7rejestrów tego komputera.
Dyrektywy translacji zawarte w kodzie źródłowym umożliwiały sterowanie translacją programu źródłowego na kod wynikowy. Zapisywane były również za pomocą odpowiednich kodów.
Komentarze w języku ASSK podzielone zostały na dwa rodzaje:
[komentarz]<komentarz>, taki komentarz był wyprowadzany naurządzenie wyjściowe, umożliwiał np. wyświetlanie komunikatów dlaoperatora podczas procesu translacji.Struktura programu w języku ASSK opiera się na blokach ujętych wnawiasy syntaktyczne będące dyrektywami języka. Podstawowym blokiem programu jest blokprog, w którym można umieszczać bloki typumacro isegment (a w nim bloki typumacro):
prog * [program] seg [blok segment] macro * [blok macro] finmacro* finseg * macro * [blok macro] finmacro*finprog *
| 1GL | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2GL/ Język drugiej generacji/ Asembler | |||||||||||||||
| 3GL / Język trzeciej generacji |
| ||||||||||||||
| 4GL/ Język czwartej generacji/ Język dziedzinowy |
| ||||||||||||||
| 5GL/Logiczne | |||||||||||||||
| Ezoteryczne | |||||||||||||||
| Inne |