; Переменная для хранения значения 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 пропала при выводе?
Так она есть же
Обсуждают сегодня