Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.06.2010, 03:08   #1
bebedor
Новичок
Джуниор
 
Регистрация: 07.06.2010
Сообщений: 1
По умолчанию цикл в ассеблере

никак не могу разобраться, задача следущая: вычислить все значения функции у=х^2-4 где х меняется от 1 до 5 с шагом 1 (все это делается в паскале, а вычисления идут ассемблерной вставкой). Получился такой код:
Код:
program cikl;
uses winCrt;
var
y,x,i:integer;
mass:Array[1..5] of byte;
begin
writeln('программа вычисления функции y=x^2-4');
asm
lea bx,mass
mov ax,0
mov cx,5
mov dx,0
mov si,1
@cikl:
mov ax,si
mov dx,si
imul dx
sub ax,4
mov [bx],ax
inc bx
inc si
loop @cikl
end;
for i:=1 to 5 do
writeln('|x=    ',i,'  |y=     ',mass[i],'|');
end.
все вроде хорошо, только вот первое значение в ответе не правильное, при x=1 y=253 подскажите куда копать\смотреть... мне сутра ее сдавать

Последний раз редактировалось Stilet; 07.06.2010 в 11:15.
bebedor вне форума Ответить с цитированием
Старый 07.06.2010, 11:07   #2
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Цитата:
Сообщение от bebedor Посмотреть сообщение
все вроде хорошо, только вот первое значение в ответе не правильное, при x=1 y=253 подскажите куда копать\смотреть... мне сутра ее сдавать
Правильное. Поменяйте тип массива с byte на shortint, проблема в том,что byte - беззнаковый, потому -3 представлено как 253
netrino вне форума Ответить с цитированием
Старый 07.06.2010, 11:09   #3
Serj_D
Пользователь
 
Регистрация: 26.05.2010
Сообщений: 13
По умолчанию

Цитата:
Сообщение от bebedor Посмотреть сообщение
только вот первое значение в ответе не правильное
Очень даже правильное. 0000 0001 (1) - 0000 0100 (4) = 1111 1101 (253).

Цитата:
Сообщение от bebedor Посмотреть сообщение
подскажите куда копать\смотреть... мне сутра ее сдавать
В сторону знаковых типов чисел.
Serj_D вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
цикл while Sam Gold Общие вопросы C/C++ 2 05.05.2010 00:29
Цикл по времени - Как сделать так чтобы цикл выполнялся к примеру 10 секунд ? Anarki Общие вопросы C/C++ 3 13.11.2009 19:23
i,j и цикл Juffin Свободное общение 13 29.04.2009 14:36
Цикл с предусловием. ( цикл while) Цикл с постусловием. (цикл repeat ... until) Mr.User Помощь студентам 9 23.11.2007 01:34