Ассемблер sub
Ассемблерная инструкция sub (subtract) используется для вычитания одного операнда из другого в ассемблерных программах. Синтаксис инструкции sub следующий:
sub destination, source
где destination и source - операнды, которые могут быть регистрами, памятью или непосредственными значениями.
Примеры кода:
1. Вычитание регистров:
mov eax, 10 ; загружаем значение 10 в регистр eax
mov ebx, 5 ; загружаем значение 5 в регистр ebx
sub eax, ebx ; вычитаем значение ebx из eax
После выполнения этого кода регистр eax будет содержать результат вычитания, то есть 5.
2. Вычитание памяти:
mov eax, [var1] ; загружаем значение из памяти по адресу var1 в регистр eax
mov ebx, 5 ; загружаем значение 5 в регистр ebx
sub eax, ebx ; вычитаем значение ebx из eax
В этом примере значение из памяти по адресу var1 будет вычитаться из значения, загруженного в регистр eax.
3. Вычитание с непосредственным значением:
mov eax, 10 ; загружаем значение 10 в регистр eax
sub eax, 5 ; вычитаем непосредственное значение 5 из eax
Здесь непосредственное значение 5 будет вычитаться из значения, загруженного в регистр eax.
Во всех приведенных примерах инструкция sub может быть заменена инструкцией sub eax, 5, но использование регистров или доступ к памяти позволяет работать с переменными и динамически изменять значения, что делает программу более гибкой и универсальной.