Команда SUB вычитает второй операнд (источник) из первого (приемника) и помещает результат на место первого операнда. Исходное значение первого операнда (уменьшаемое) теряется. Таким образом, если команду вычитания записать в общем виде
sub операнд_1, операнд_2
то ее действие можно условно изобразить следующим образом:
олеранд_1 - операнд_2 операнд_1
В качестве операндов можно указывать регистр (кроме сегментного) или ячейку памяти, в качестве второго операнда еще и непосредственное значение, однако не допускается определять оба операнда одновременно как ячейки памяти. Операнды могут быть байтами или словами и представлять числа со знаком или без знака.