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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.03.2009, 01:14   #1
MaGWaY_minsk
Пользователь
 
Регистрация: 17.10.2008
Сообщений: 35
По умолчанию Pascal и асемблерные вставки.

Доброго времени суток всем!
Собственно, начали изучать асемблер и сразу дали нам лабу. Вроде как по тиху начинаем врубаться, но всё же есть нужна помощь.
Собственно, вот выражение, которое нужно написать на вставке асемблерной в паскале:
(2*b-38*c)/(b+a/c+1).
Ниже представлен код моей антихудожественной мазни
Код:
uses crt;
var
   a,b,c:integer;
   p1,p2,p3:integer;
Begin


asm
   mov a, 6 
   mov b, 2
   mov c, 3

   {-----1-------}
   {2*b}
   mov ax, 2 
   mul b {умножаем содержимое регистра AX на b (2*2)}
   mov p1, ax {Результат помещаем в переменную P1}
   sub ax, ax {Очищаем регистр}

   {-38*c}
   mov ax, 38
   neg ax {Меняем знак на противоположный (-38)}
   mul c {умножаем содержимое регистра AX на b (-38*3)}
   mov p2, ax {Результат помещаем в переменную P1}
   sub ax, ax {Очищаем регистр}

   {b*2-38*c}
   mov ax, p1
   add ax, p2 {Складываем содержимое регистра AX с P2 }
   mov p1, ax {результат заносим в переменную P1}
   sub ax, ax {Очищаем регистр}
   {p1 = b*2-38*c}
   {-----1-------}

   {-----2-------}
   mov ax, a
   mov cl, 3 {zna4enie peremennoy C}
   div cl 
   add ax, b
   inc ax
   mov p2, ax
   sub ax, ax
   {p2 = b + a/c +1}
   {-----2-------}

   {-----3-------}
   {deistie1/deistvie2}
   mov ax, p1
   div p2
   mov p3, ax
   sub ax, ax
   {-----3-------}

end;
    ClrScr;
    WriteLn(p1);
    WriteLn(p2);
    WriteLn(p3);
    ReadKey;
end.
Собственно, сами вопросы:
*Как правильно оформить шаг №3, в котором делится первая скобка на вторую. Так как я написал результат от деления (-110/5=-26237) собственно, я так понимаю ет не верно
*Как правильно оформить ввод значений в паскале, а после этого использовать их в ассемблере?

Заранее спасибо!!!!!
MaGWaY_minsk вне форума Ответить с цитированием
Старый 03.03.2009, 22:03   #2
MaGWaY_minsk
Пользователь
 
Регистрация: 17.10.2008
Сообщений: 35
По умолчанию

Всё, разобрался сам.=)
Можно закрывать)))
MaGWaY_minsk вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ассемблерные вставки в Delphi Jupiter Общие вопросы Delphi 2 24.08.2008 16:41
Ассемблерные вставки Assassin Помощь студентам 1 26.05.2008 08:19
вставки из ассемблера макс07 Общие вопросы C/C++ 7 13.05.2008 19:19
asm-вставки demon_sv Общие вопросы Delphi 1 14.02.2007 18:33