Сложение двух unsigned int длиной в 4 байта (ассемблер 8086) - Assembler
Формулировка задачи:
Здравствуйте ! Застрял на одном вроде бы элементарном вопросе - требуется сложить два 32-битных слова (типа unsigned int) с сохранением результата. По идее я должен поместить один из операндов в регистр типа eax , ebx и затем к нему прибавить второй операнд. То есть :
Почему-то когда я запускаю это в эмуляторе 8086 - выскакивает ошибка eax is undefined var. Это ограничение эмулятора или моя ошибка ?
mov eax,var2 add eax,var1
Решение задачи: «Сложение двух unsigned int длиной в 4 байта (ассемблер 8086)»
textual
Листинг программы
mov byte ptr [res+4],0 adc byte ptr [res+4],0
Объяснение кода листинга программы
- В начале кода идет команда mov, которая переносит значение 0 в байт по адресу res+4.
- Затем следует команда adc (арифметическая операция с двумя смещаемыми регистрами), которая складывает байт по адресу res+4 с другим байтом, и результат записывается обратно в байт по адресу res+4.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д