ASSK, to podstawowy język programowania i translator dla komputera K-202. Język ten jest językiem symbolicznym operującym na poziomie rozkazów maszynowych tego komputera, a więc we współczesnej nomenklaturze – asemblerem.
W języku tym składnia wyróżnia następujące jednostki:
Alfabet języka opierał się na podzbiorze znaków ISO-7. Literały liczbowe mogły być wyrażane jako liczby całkowite zapisane w systemie dziesiętnym lub ósemkowym oraz jako liczby zmiennoprzecinkowe (przy czym operacje na takich liczbach wykonywane były za pomocą ekstrakodów). Inne literały dostępne w języku to parametry alfanumeryczne (zbliżone w swych właściwościach do współczesnych literałów łańcuchowych). Zdefiniowano także tekst alfanumeryczny, tj. ciąg znaków ujętych w cudzysłowy, który był umieszczany w pamięci operacyjnej, np. "tekst alfanumeryczny"
. Identyfikatory i etykiety tworzone były za pomocą liter i cyfr oraz wybranych znaków dodatkowych, przy czym pod uwagę branych było tylko 6 pierwszych znaków. Dostępne były podstawowe operatory, m.in. arytmetyczne i bitowe.
Rozkazy były zapisywane za pomocą odpowiednich kodó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 takiej zmiennej powodowało wstawienie aktualnej jej wartości do wyrażenia. Można się było również odwoływać do jednego z 7 rejestró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 na urządzenie wyjściowe, umożliwiał np. wyświetlanie komunikatów dla operatora podczas procesu translacji.Struktura programu w języku ASSK opiera się o bloki ujęte w nawiasy syntaktyczne będące dyrektywami języka. Podstawowym blokiem programu jest blok prog, w którym można umieszczać bloki typu macro i segment (a w nim bloki typu macro):
prog *
[program]
seg
[blok segment]
macro *
[blok macro]
finmacro*
finseg *
macro *
[blok macro]
finmacro*
finprog *