include "emu8086.inc"
org 100h
menu:
printn "1: Решить 6x^2 + x - 1 "
printn "2: Решить 3x^2 + 8x - 3 "
printn "3: Выход"
call pthis
db 13,10,"Выберите цифру действия: ", 0
call scan_num
mov dx, cx
cmp dx, 1
jz odin
cmp dx, 2
jz dva
jmp oshibka
odin:
call pthis
db 13,10,"Введите значение x: ", 0
call scan_num
mov ax, cx
mov bx, ax
mul bx ; умножение на x
add ax, ax ; умножение на 2
add ax, bx ; прибавление x
sub ax, 1 ; вычитание 1
call print_res
jmp menu
dva:
call pthis
db 13,10,"Введите значение x: ", 0
call scan_num
mov ax, cx
mov bx, ax
mul bx ; умножение на x
add ax, ax ; умножение на 2
add ax, bx ; прибавление x
mov bx, 8
add ax, bx ; прибавление 8x
sub ax, 3 ; вычитание 3
call print_res
jmp menu
oshibka:
call pthis
db 13,10,"Некорректный ввод", 0
jmp menu
print_res:
call pthis
db 13,10,"Результат: ", 0
call print_num
ret
ret
define_scan_num
define_pthis
define_print_num_uns
define_print_num
end
include “emu8086.inc”
org 100h
menu:
printn "1: reshit’ 6x^2+x-1 "
printn "2: reshit’ 3x^2+8x-3 "
printn “3: vykhod”
call pthis
db 13,10,"Viberite tsifru deystviya: " , 0
call scan_num
mov dx, ax ; Хранение результата выбора пользователя в DX
cmp dx, 1
je odin
cmp dx, 2
je dva
jmp oshibka
odin:
call pthis
db 13,10,"Vvedite znachenie x: ", 0
call scan_num
mov bx, ax ; BX = x
mov ax, bx ; AX = x
mul bx ; DX:AX = xx
mov cx, ax ; CX = x^2
mov ax, cx
mov bx, 6
mul bx ; AX = 6x^2
mov bx, ax ; BX = 6x^2
add bx, cx ; BX = 6x^2 + x
add bx, -1 ; BX = 6x^2 + x - 1
call pthis
db 13,10,"otvet: " , 0
mov ax, bx
call print_num
jmp menu
dva:
call pthis
db 13,10,"Vvedite znachenie x: ", 0
call scan_num
mov bx, ax ; BX = x
mov ax, bx ; AX = x
mul bx ; DX:AX = xx
mov cx, 3
mul cx ; AX = 3x^2
mov si, ax ; SI = 3x^2
mov ax, bx
mov cx, 8
mul cx ; AX = 8x
add ax, si ; AX = 3x^2 + 8x
sub ax, 3 ; AX = 3x^2 + 8*x - 3
call pthis
db 13,10,"otvet: " , 0
call print_num
jmp menu
oshibka:
call pthis
db 13,10,“Ne korrektniy vvod” , 0
jmp menu
ret
; Определения функций emu8086
define_scan_num
define_pthis
define_print_num_uns
define_print_num
end
что-то пробовал писать, но как-то безуспешно
в odin должно быть 6x^2+x-1, а в dva 3x^2+8x-3
include "emu8086.inc"
org 100h
menu:
printn "1: reshit' 6x^2+x-1 "
printn "2: reshit' 3x^2+8x-3 "
printn "3: vykhod"
call pthis
db 13,10,"viberite tsifru deystviya " , 0
call scan_num
mov dx, cx
cmp dx, 1
jz odin
cmp dx, 2
jz dva
jmp oshibka
odin:
call pthis
db 13,10,"Vvedite znachenie x: ", 0
call scan_num
call pthis
db 13,10,"otvet: " , 0
call print_num
jmp menu
dva:
call pthis
db 13,10,"Vvedite znachenie x: ", 0
call scan_num
call pthis
db 13,10,"otvet: " , 0
call print_num
jmp menu
oshibka:
call pthis
db 13,10,"ne korrektniy vvod" , 0
jmp menu
ret
define_scan_num
define_pthis
define_print_num_uns
define_print_num
end