Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 24.04.2017
Сообщений: 12

Неправильное вычисление знаменателя (signed byte)

14.05.2017, 02:12. Показов 860. Ответов 4

Студворк — интернет-сервис помощи студентам
При компиляции ошибок нет. Числитель вычислен правильно, но знаменатель нет. Помогите, пожалуйста, выявить ошибку
(signed byte)

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
.686
.MODEL FLAT, C
.data
extern shisl:dword,znam:dword,rez:dword
.CODE ;(44+c*d-15)/(a + c - 6)
 
myfunc PROC C aaaS:byte, bbbS:byte,cccS:byte
;shisl *******************************(aaaS+bbbS*cccS-1)/(aaaS/3+1)
    mov al, cccS
    imul bbbS
    mov dl, aaaS
    cbw
    add ax, dx
    sub ax, 1
    mov dx, 0
    ;mov word ptr shisl+2, dx
    mov word ptr shisl, ax
;znam *******************************(aaaS/3+1)
    mov al, aaaS
    cbw
    mov bl, 3
    idiv bl
    add al, 1
    cbw
    mov word ptr znam, ax
 
    mov dx, word ptr shisl+2
    mov ax, word ptr shisl
    idiv znam
    mov word ptr rez,ax
    ret
myfunc ENDP
 
END
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.05.2017, 02:12
Ответы с готовыми решениями:

Интерполяция комплексной функции, вычисление коэф-тов числителя и знаменателя
Подскажите, пожалуйста, где можно найти алгоритм или прогу на VB6 или FORTRAN интероляции таблично заданной комплексной функции в виде...

Нельзя преобразовать тип function(a: byte;b: byte): byte к integer (Списки)
Создать список из целых чисел.Поменять в списке местами максимальный и минимальный элементы Проблемы c процедурами Pos и Chang: пос...

Неправильное вычисление 0^n
Почему Maple 18 (другие непроверял) при таком коде sum(0^n, n = 0 .. 10) выдаёт ответ "0"? Хотя при n = 0 должно быть 0 ^ 0 =...

4
Ушел с форума
Автор FAQ
 Аватар для Mikl___
16373 / 7685 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
14.05.2017, 03:54
https://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{a+bc-1}{\frac{a}{3}+1}=\frac{3(a+bc-1)}{a+3}=3+\frac{3(bc-4)}{a+3}
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
mov al,a
cbw
add ax,3
mov bx,ax;bx=a+3
mov al,b
imul c;ax=bc
sub ax,4;ax=bc-4
mov cx,3
imul cx;dx:ax=3(bc-4)
idiv bx
add ax,3
mov rez,ax
1
0 / 0 / 0
Регистрация: 24.04.2017
Сообщений: 12
14.05.2017, 15:34  [ТС]
Mikl___, спасибо! однако я не знаю, разрешено ли относительно задания преобразовывать выражение. скорей всего нужно без преобразования решать
0
Ушел с форума
Автор FAQ
 Аватар для Mikl___
16373 / 7685 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
14.05.2017, 15:40
lumieresunlight,
чего это ради? программист не должен быть тупым ремесленником, главное чтобы ожидаемые от тебя результаты совпадали с полученными тобой, а воспользоваться знаниями алгебры полученными в четвертом-пятом классе никто запрещать не сможет
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8655 / 4491 / 1669
Регистрация: 01.02.2015
Сообщений: 13,899
Записей в блоге: 12
14.05.2017, 15:48
lumieresunlight, смотрите, т.к. кроме результата сохраняются числитель и знаменатель, обратите внимание на их разрядность и разрядность регистров. Также учтите, что cbw/cwd применяется только к al/ax/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
    mov al, cccS
    imul bbbS
    mov dx, ax
    mov ax, aaaS
    cbw
    add ax, dx
    sub ax, 1
    mov dx, 0
    ;mov word ptr shisl+2, dx
    mov word ptr shisl, ax
;znam *******************************(aaaS/3+1)
    mov al, aaaS
    cbw
    mov bl, 3
    idiv bl
    add al, 1
    cbw
    mov word ptr znam, ax
 
    mov dx, word ptr shisl+2
    mov ax, word ptr shisl
    idiv word ptr znam
    mov word ptr rez,ax
    ret
Добавлено через 1 минуту
Но это всё-равно, что-то не то, т.к. вы работаете в x32 режиме процессора и доступны 32-разрядные регистры.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.05.2017, 15:48
Помогаю со студенческими работами здесь

Неправильное вычисление синуса
double x, y, z; cout << "введите угол: "; cin >> x; cout << "синус " << x << " = " << sin(x) << endl; когда угол 30...

Неправильное вычисление ярдов
#include <stdio.h> #include <iostream> using namespace std; int main () { double x1; int m; double x; double...

Неправильное вычисление дробной части
Привет. Dim a As Double = 1.4 Dim b As Double = Math.Truncate(a) Dim c As Double = a - b В с получаю...

Неправильное вычисление синуса угла
#include <iostream> #include <cmath> #include <math.h> using namespace std; void main() { ...

Неправильное вычисление факториала (исправить код)
Вот код: private void button1_Click(object sender, EventArgs e) { int fact = 1; for (int i = 1; i...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru