Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Assembler Как вывести информацию на экран функцией MessageBox ? https://www.cyberforum.ru/ asm-beginners/ thread970477.html
Здравствуйте ! У меня возникла такая проблема:есть пример x=2*a+6^b .Его нужно решить для пяти значений переменной а , используя встроенные арифметические MASM-32 функции и вывести результат через ...
Assembler Функция WriteConsoleA
Вот написал пример из учебника: title виведення повідомлення .386 .model flat,stdcall option casemap:none ;відміннність малих та великих літер ExitProcess proto:dword ;прототип функції...
Assembler Запуск одной программы из другой https://www.cyberforum.ru/ asm-beginners/ thread970271.html
Здравствуйте! Пытаюсь запустить одну программу из другой, но ничего не происходит (должна выводиться строка символов в консоль). Вызывающая программа: CSEG SEGMENT ASSUME CS:CSEG, DS:CSEG ORG 100h...
Assembler Подскажите работа с программой Far.exe https://www.cyberforum.ru/ asm-beginners/ thread970237.html
Скажите пожалуйста преподователь дал программу и сказала запустить через оболочку Far1705.exe. Создала файл через SHIFT +F4 , а вот как ее запустить не понимаю. Может это кто-то работал с этой...
Assembler Странная функция
Чем отличаются следующие вызовы функций: call @LStrLen call IntToStr Что означает знак в имени функции? Добавлено через 42 секунды Такой ассемблерный код получается в декомпиляторе...
Assembler Готовая FreeDOS VM машина с TASM https://www.cyberforum.ru/ asm-beginners/ thread970071.html
Иногда поглядывал на форум, но не регался и писать-то особо было нечего. Но тут, кажется, кое-что появилось. Как ясно из названия темы я представляю вам готовый VHD образ диска с виртуальной...
Assembler Ошибка при делении Почему-то появляется ошибка integer owerlow _asm{ mov ax, 39 mov bx, 2 mov dx, 32 div bx } https://www.cyberforum.ru/ asm-beginners/ thread970020.html Assembler Линия в ассемблере
Добрый день. Есть ли более быстрый способ рисовать горизонтальную линию, чем функция 0ch в int10h. Везде написано, что данная функция работает крайне медленно, да и сам это замечаю, когда рисую...
Assembler Прокомментировать код Всем привет. Недавно начал изучать ассемблер. Возникают трудности с чтением кода. Это результат декомпилятора Delphi. Я думаю для человека хорошо понимающего ассемблер понимание этого кода не... https://www.cyberforum.ru/ asm-beginners/ thread969880.html Assembler Редактирование кода https://www.cyberforum.ru/ asm-beginners/ thread969747.html
Добрый вечер господа и дамы) Мне нужно немного подредактировать мою программу, использую для этого HIEW. Вот в чём вопрос: я могу с помощью этой программы только изменить инструкцию или можно также и...
Assembler Ошибка вывода строк
Вывести на экран матрицу символов таблицы ASCII, чередуя выводимые символы пробелами и вставляя пустые строки между строками.Обеспечить возможность модификации размера выводимой матрицы.Вся первичная...
Assembler Ассемблер начинающему https://www.cyberforum.ru/ asm-beginners/ thread969735.html
Привет всем, являюсь новичком в ассемблере. хотелось бы узнать 1) какой ассемблер-компилятор лучше всего подходит для windows ? - поясню свой вопрос: хотелось бы научиться программировать используя...
7 / 6 / 6
Регистрация: 07.04.2012
Сообщений: 51
0

Вычисление полинома по схеме Горнера (исправление ошибки) - Assembler - Ответ 5147130

06.10.2013, 22:19. Показов 1392. Ответов 5
Метки (Все метки)

Помогите исправить ошибку.
При отрицательном x программа считает неправильно.
При заданных параметрах ассемблер выдает 995917
Аналогичный код на си -52555
Использовать регистры EAX и тд нельзя. Нужно исправить именно это.
Код на ассемблере и си прилагаю.
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
        TITLE   lab1
        PAGE    52,72
        INCLUDE macroio.inc 
DATA   SEGMENT
cr  equ 13  ; Каретка
lf  equ 10  ; Перевод строки
 
n   dw  4
a   dw  500,400,111,500
x   dw  -5 
vr  dw  0
o   dd  0
flag dw 0
t dw 0
str1    db  "Массив x^n........x^1....1",lf,"$"
str2    db  "Ответ  - $"
str3    db  "X = $"
viv db  240 dup(?)
DATA   ENDS
 
PROG   SEGMENT 'CODE'
       ASSUME  DS:DATA,ES:DATA,CS:PROG,SS:SPROG
START:
       MOV     AX,DATA 
       MOV     DS,AX
       MOV     ES,AX
 
    @DispStr    str1
    mputi       2,n,a,viv
    @DispStr    viv
    @DispCh cr lf
 
    @DispStr    str3    
    puti        2,x,viv
    @DispStr    viv
    @DispCh cr lf
    
;Начало вычислений
    mov cx, n;
    mov si, 0
    cmp x,0
    jg LN1
    mov flag, 1
    neg x
LN1:
;;o=o*x
    mov ax, word ptr o  
    mul x
    mov word ptr o, ax
    mov vr, dx
    mov ax, word ptr o+2
    mul x
    adc ax, vr
    mov word ptr o+2, ax
;;/o=o*x
;;/////o=-o if need
    cmp flag,0
    je LN3
    mov ax, word ptr o
    neg ax
    add ax,1
    mov word ptr o, ax
    mov ax,word ptr o+2
    neg ax
    adc ax,0
    mov word ptr o+2,ax
LN3:
;;/////
;;o=o+a[i]
    mov ax, word ptr o
    add ax, a[si]
    mov word ptr o, ax
    adc ax, 0
    mov ax, word ptr o+2
;;/o=o+a[i]
    add si, 2   
loop  LN1
;Конец вычислений
    @DispStr    str2    
    puti        4,o,viv
    @DispStr    viv
    @DispCh cr lf
    
@Exit
PROG ENDS
 
SPROG SEGMENT STACK 'STACK'
  DB  512 DUP(?)
SPROG ENDS
  END  START
C
1
2
3
4
5
6
7
8
9
    int a[]={500,400,111,500};
    int o=0;
    int x=-5;
    int n=4;
    for(int i=0;i<n;i++)
    {
        o=(o*x)+a[i];
        cout<<"o="<<o<<endl;
    }


Вернуться к обсуждению:
Вычисление полинома по схеме Горнера (исправление ошибки) Assembler
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.10.2013, 22:19
Готовые ответы и решения:

Вычисление полинома по схеме Горнера
Дана вроде бы стандартная задача, на вычисление суммы, но портит ее то, что надо вычислить ее по...

Вычисление производных полинома в данной точке по схеме Горнера
Помогите составить программу на паскале для вычисления производных полинома в данной точке по схеме...

Вычислить значение полинома по схеме Горнера
ПОМОГИТЕ МОЖАЛУЙСТА,НУЖНО НАПИСАТЬ ПРОГРАММУ: Вычислить: p(x)=a(n)x^n+a(n-1)x^(n-1)+...+a1x+a(o)...

Деление полинома p(x) на бином (x–α) по схеме Горнера
Помогите составить программу на паскале для деления полинома p (x) на бином (x–α) по схеме...

5
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.10.2013, 22:19

Составить подпрограмму вычисления значение полинома n-го порядка по схеме Горнера
Здравствуйте. помогите пожалуйста. Задание: составить подпрограмму вычисления значение полинома...

Составить программу для вычисления значения полинома по схеме Горнера
Объясните пожалуйста программу, каждую строку Завтра нужно преподу объяснить Спасибо! Условие...

Вычисление значения полинома, используя формулу Горнера
Составить блок-схему и программу для вычисления значения полинома, используя формулу Горнера....

Вычисление по схеме Горнера
Для данного действительного числа X произвести вычисление по схеме Горнера ...

Провести вычисление многочлена по схеме Горнера
Провести вычисление многочлена по схеме Горнера f(x)=( ...(((x+A )x+A )x+A )... )x+An Помогите...

Вычисление выражения основываясь на схеме Горнера
Добрый день. Стоит такое задание. Дано число X типа Single. Необходимо разработать фрагмент...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.