; Переменная для хранения значения x
                  
                  
                      y dw ?       ; Переменная для результата
                  
                  
                  
                  
                  
                  .code
                  
                  
                  main proc
                  
                  
                      mov ax, @data
                  
                  
                      mov ds, ax
                  
                  
                  
                  
                  
                      ; Вычисление y=(x^3-5)/(x+1)
                  
                  
                      mov ax, x       ; Загружаем значение x в регистр AX
                  
                  
                  
                  
                  
                      imul ax, x      ; AX = x^2
                  
                  
                      imul ax, x      ; AX = x^3
                  
                  
                  
                  
                  
                      sub ax, 5       ; AX = x^3 - 5
                  
                  
                  
                  
                  
                      mov bx, x       ; BX = x
                  
                  
                      inc bx          ; BX = x + 1
                  
                  
                  
                  
                  
                      cwd              ; Расширяем AX до DX:AX для деления
                  
                  
                      idiv bx          ; DX:AX / BX, частное в AX, остаток в DX
                  
                  
                  
                  
                  
                      mov y, ax        ; Сохраняем результат в y
                  
                  
                  
                  
                  
                      ; Выводим результат (частное и остаток)
                  
                  
                      mov ah, 02h      ; Функция вывода символа
                  
                  
                  
                  
                  
                      ; Вывод частного (целой части)
                  
                  
                      mov ax, y
                  
                  
                      idiv ax, 10      ; Делим на 10, частное в AX, остаток в DX
                  
                  
                      add dl, '0'      ; Преобразование остатка в символ
                  
                  
                      int 21h
                  
                  
                  
                  
                  
                      ; Вывод остатка
                  
                  
                      mov dl, '0'
                  
                  
                      add dl, ah
                  
                  
                      int 21h
                  
                  
                  
                  
                  
                      mov ax, 4C00h
                  
                  
                      int 21h
                  
                  
                  
                  
                  
                  main endp
                  
                  
                  
                  
                  
                  end main
                  
                  
                  
                  
                  
                  Можете посмотреть еще раз? Что я не так пишу при выводе?
                  
                  
                
А куда подфункция int21h пропала при выводе?
Так она есть же
Обсуждают сегодня