Найти функцию - Assembler

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

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

Прошу помощи, не просто за спасибо, конечно. F=(25+a)/(b-5)

Решение задачи: «Найти функцию»

textual
Листинг программы
.model small
.data
a dw 100
b dw -7
F dw ?
.stack 256
.code
start:
        mov ax,@data    ;Настраиваем сегментный регистр
        mov ds,ax
        mov bx,b        ;b
        sub bx,5        ;b-5
        mov ax,a        ;a
        add ax,25       ;25+a
        cwd             ;расширить 25+a до 32 бит
        idiv bx         ;(25+a)/(b-5)
        mov F,ax        ;сохранить результат
        mov ax,4c00h    ;закончить программу
        int 21h
 
end start

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

  1. Устанавливаем сегментный регистр на сегмент данных
  2. Задаем начальное значение переменной b
  3. Вычисляем значение переменной b-5
  4. Присваиваем переменной F значение (25+a)/(b-5)
  5. Завершаем программу

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

15   голосов , оценка 3.933 из 5