Регистры общего назначения:

Восьмибитные: A, B, C

Шестнадцатибитный: D

Адресация:

Прямая: mov a, 5

Косвенная: mov a, [d]

Косвенная со смещением: mov a, [d+2]

Команды:

Перемещение данных

mov куда, что - помещение данных

push регистр - сохранить значение регистра в стеке

pop регистр - восстановить значение регистра из стека

Арифметические:

add куда, что - сложение

sub куда, что - вычитание

mul что, на что - умножение

div что, на что - деление

mod что, на что - остаток от деления

cmp что, с чем - сравнение

Логические

not что - инверсия (побитовое отрицание)

and что, с чем - конъюнкция (побитовое "И")

or что, с чем - дизъюнкция (побитовое "ИЛИ")

Управление ходом вычислений

jp куда - безусловный переход

jz куда - переход, если ноль

jnz куда - переход, если не ноль

jc куда - переход, если перенос

jnc куда - переход, если нет переноса

call куда - вызов подпрограммы

ret - возврат из подпрограммы

loop куда - цикл. В регистр C должно быть помещено количество повторений

hlt - остановка выполнения программы

Дополнительные команды

nop - нет операции

Работа с портами ввода-ввода

in куда, откуда - чтение данных из порта ввода-вывода

Прерывания

int 16
- если регистр A равен 0, то происходит очистка экрана
- если регистр A равен 2, то текстовый крусор устанавливается в позицию, заданную регистром D (старший байт - номер строки, младший байт - номер столбца)
- если регистр A равен 10, то на экран выводится символ с кодом, хранящимся в регистре B

int 21
- ожидание (регистр A должен быть равен 134, в регистре C должно быть количество сотых долей секунды)

int 22
- чтение клавиатуры. Результат - в регистре A

Числа:

12 - десятичное число

12o - восьмеричное число

12h - шестнадцатеричное число

Метки:

метка: add a, 5
jp метка

Именем метки может быть последовательность символов, начинающаяся с буквы.
Метка может содержащать в себе буквы, цифры и символ подчеркивания

Коментарии:

Точка с запятой в начале строки означает, что вся строка явлется коментарием:
; коментарий