Вычислить заданное целочисленное выражение, используя команды ассемблера - Assembler (224376)
Формулировка задачи:
3. (2*c – d / 4) / (a * a + 1);
Вычислить заданное целочисленное выражение, используя команды ассемблера. Вывод результата выполнить с помощью функции output из предлгаемого инструментария. Произвести анализ полученных результатов
Решение задачи: «Вычислить заданное целочисленное выражение, используя команды ассемблера»
textual
Листинг программы
mov ax,a imul ax inc ax mov cx,ax mov ax,c shl ax,1 mov dx,d sal dx,2 sub ax,dx cdw idiv cx
Объяснение кода листинга программы
mov ax,a
— переносит значение переменнойa
в регистрax
imul ax
— выполняет умножение значения регистраax
на значение переменнойa
inc ax
— увеличивает значение регистраax
на единицуmov cx,ax
— переносит значение регистраax
в переменнуюcx
mov ax,c
— переносит значение переменнойc
в регистрax
shl ax,1
— сдвигает значение регистраax
вправо на одну позицию, увеличивая его при этом на единицуmov dx,d
— переносит значение переменнойd
в регистрdx
sal dx,2
— сдвигает значение регистраdx
влево на две позиции, уменьшая его при этом на единицуsub ax,dx
— вычитает значение регистраdx
из значения регистраax
cdw
— вероятно, здесь ошибка, так как данная команда отсутствует в языке Assembleridiv cx
— выполняет деление значения регистраax
на значение переменнойcx