Вычислить заданное целочисленное выражение, используя команды ассемблера - 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

Объяснение кода листинга программы

  1. mov ax,a — переносит значение переменной a в регистр ax
  2. imul ax — выполняет умножение значения регистра ax на значение переменной a
  3. inc ax — увеличивает значение регистра ax на единицу
  4. mov cx,ax — переносит значение регистра ax в переменную cx
  5. mov ax,c — переносит значение переменной c в регистр ax
  6. shl ax,1 — сдвигает значение регистра ax вправо на одну позицию, увеличивая его при этом на единицу
  7. mov dx,d — переносит значение переменной d в регистр dx
  8. sal dx,2 — сдвигает значение регистра dx влево на две позиции, уменьшая его при этом на единицу
  9. sub ax,dx — вычитает значение регистра dx из значения регистра ax
  10. cdw — вероятно, здесь ошибка, так как данная команда отсутствует в языке Assembler
  11. idiv cx — выполняет деление значения регистра ax на значение переменной cx

Оцени полезность:

6   голосов , оценка 4.333 из 5
Похожие ответы