Вычислить выражение по формуле. TASM. - Assembler

Узнай цену своей работы

Формулировка задачи:

Помогите решить данную задачу для ТАSM, прошу Вас!

Решение задачи: «Вычислить выражение по формуле. TASM.»

textual
Листинг программы
.model small
.stack 100h
.data
        a       db      15
        b       db      85
        d       db      45
        f       dw      ?
.code
main    proc
        mov     ax,     @data
        mov     ds,     ax
 
        mov     al,     a
        imul    al              ;ax:=a^2
        mov     bx,     ax      ;bx:=a^2
 
        mov     al,     b
        imul    al              ;ax:=b^2
        add     bx,     ax      ;bx:=a^2 + b^2
 
        mov     al,     7
        imul    byte ptr d      ;ax:=7d
 
        xchg    ax,     bx      ;ax:=a^2 + b^2
                                ;bx:=7d
 
        cwd                     ;dx:ax := a^2 + b^2
 
        idiv    bx
 
        mov     f,      ax
 
        mov     ax,     4C00h
        int     21h
main    endp
end     main

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

  1. Объявлены переменные a, b, d и f. Значение переменных a и b равно 15 и 85 соответственно. Переменная d содержит 45. Переменная f не имеет начального значения.
  2. Код вычисляет значения a^2, b^2, (7*d) и (a^2 + b^2).
  3. Значение a^2 сохраняется в регистре ax.
  4. Значение b^2 сохраняется в регистре bx.
  5. Значение 7*d сохраняется в регистре ax.
  6. Значение a^2 + b^2 сохраняется в регистре bx.
  7. Значение a^2 + b^2 и 7*d выводится на экран с помощью команды int 21h.
  8. Значение f устанавливается равным ax, т.е. a^2 + b^2 + 7*d.
  9. Код завершается.

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

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