sub
Команда имеет два операнда, причём первый из них задаёт и одно из чисел, учавствующих в операции, и место, куда следует записать результат; второй операнд задаёт второе число (вычитаемое) для операции. Первый операнд обязан быть регистровым6 либо типа "память"; второй операнд может быть любого типа. Как и для команды mov, для команды sub нельзя использовать два операнда типа "память" одновременно. Пример использования:
sub [x], ecx
означает взять четырёхбайтное число из памяти по адресу x, вычесть из него значение из регистра ECX, результат записать обратно в память по тому же адресу