Найти область определения функции - Assembler
Формулировка задачи:
Функция Y= 3x3+5x2+7 Область определения функции x [0,7].
НЕ могу найти в чем ошибка в коде.
; multi-segment executable file template. include 'emu8086.inc' data segment y dw ? S1 db 'Vvedite X (x=[0;7]): ',13,10,' $' S3 db 13,10,'Rezultat: $' S4 db 'Oshibka, X ne vhodit v diapazon [0;7] $' pkey db 13, 10, "press any key...$" ends stack segment dw 128 dup(0) ends code segment start: ; set segment registers: mov ax, data mov ds, ax mov es, ax lea dx, S1 ;Soobshcheniye o vvode chisla mov ah, 9 int 21h CALL print_string ;Vvod chisla xor cx,cx xor ax,ax xor bx,bx call print_string call scan_num cmp cx,7 jg l1 cmp bx,cx jg l1 jmp short l2 l1:jmp l3 l2:mov y, cx ;Sohranuem chislo call clear_screen xor ax,ax xor bx,bx xor dx,dx xor cx,cx mov bx,y mov ax,bx imul bx ; Vozvodim v kvadrat mov cx,ax imul bx ; Vozvodum v kub mov dx,3 imul dx mov dx,ax xor dx,dx mov ax,5 imul cl mov cx,ax mov ax,7 mov ax,07fffh and dx,ax mov y,dx lea dx, S3 ;Soobshcheniye o vivode rezultata mov ah, 9 int 21h mov ax, y ; Vivod rezultata call print_num_uns mov ah,02h int 21h jmp short l4 l3:call clear_screen lea dx, S4 ;Soobshcheniye ob oshibke mov ah, 9 int 21h l4:lea dx, pkey mov ah, 9 int 21h ; output string at ds:dx ; wait for any key.... mov ah, 1 int 21h mov ax, 4c00h ; exit to operating system. int 21h ends DEFINE_SCAN_NUM DEFINE_PTHIS DEFINE_PRINT_STRING DEFINE_PRINT_NUM_UNS DEFINE_CLEAR_SCREEN end start ; set entry point and stop the assembler.
Решение задачи: «Найти область определения функции»
textual
Листинг программы
mov dx,3 imul dx mov dx,ax xor dx,dx mov ax,5 imul cl mov cx,ax mov ax,7 mov ax,07fffh and dx,ax
Объяснение кода листинга программы
- mov dx,3 - Переменная dx получает значение 3
- imul dx - Переменная dx умножается на текущее значение ax
- mov dx,ax - Переменная dx получает значение ax
- xor dx,dx - Переменная dx инвертируется
- mov ax,5 - Переменная ax получает значение 5
- imul cl - Переменная cl умножается на текущее значение ax
- mov cx,ax - Переменная cx получает значение ax
- mov ax,7 - Переменная ax получает значение 7
- mov ax,07fffh - Переменная ax получает значение 07fffh (0x7fff)
- and dx,ax - Переменная dx получает результат битового И с ax
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д