Задача на assembler. Вычислить выражение.
Формулировка задачи:
Помогите решить задачу
Решение задачи: «Задача на assembler. Вычислить выражение.»
textual
Листинг программы
;mov byte ptr ds:[0200h],4 ;mov byte ptr ds:[0201h],13 ;mov byte ptr ds:[0202h],2 mov al,byte ptr ds:[0200h] imul al mov dx,ax mov al,byte ptr ds:[0201h] mov bl,byte ptr ds:[0202h] imul bl add ax,dx mov bl,14 idiv bl dec al mov byte ptr ds:[0203h],al
Объяснение кода листинга программы
В данном коде на языке Assembler происходит следующее:
- Переменная
alполучает значение 4, которое хранится в байте по адресу 0200h в сегменте данных (ds). - Переменная
alполучает значение 13, которое хранится в байте по адресу 0201h в сегменте данных (ds). - Переменная
alполучает значение 2, которое хранится в байте по адресу 0202h в сегменте данных (ds). - Переменная
axполучает значение, равное произведению значения переменнойalи 4. - Переменная
dxполучает значение, равное половине значения переменнойax. - Переменная
alполучает значение 14. - Переменная
blполучает значение, равное произведению значения переменнойalи 2. - Сумма значений переменных
axиdxсохраняется в переменнойax. - Делится значение переменной
axна значение переменнойbl. Результат сохраняется в переменнойal. - Значение переменной
alуменьшается на единицу. - Значение переменной
alзаписывается в байт по адресу 0203h в сегменте данных (ds).