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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.01.2011, 11:55   #1
Rin
Негодник
Форумчанин
 
Аватар для Rin
 
Регистрация: 10.11.2009
Сообщений: 880
По умолчанию Перевод кода с Pascal в Delphi

в Pascal есть такой тип registers. этот тип использует регистры процессора
и обращение к регистрам идёт так: reg.ax или reg.dx
чем заменить тип registers в delphi?
так же непонятна процедура intr? что она cделает, вызвав прерывание $33?
Код:
var
reg:registers
..................
]intr($33, reg);
Если помог, проси поставить минус. Будь оригинален!

Последний раз редактировалось Rin; 08.01.2011 в 12:38.
Rin вне форума Ответить с цитированием
Старый 08.01.2011, 12:37   #2
Alex Defsen
Пользователь
 
Регистрация: 10.10.2010
Сообщений: 15
По умолчанию

Какой модуль вы добавляли в uses чтобы появился тип Registers ?
Его добавьте и в Delphi.
Alex Defsen вне форума Ответить с цитированием
Старый 08.01.2011, 12:49   #3
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

хм, если я правлено понял Registers это ассемблерна вставка для паскаля. То в делфи это заменяет блок:
Код:
procedure someproc;
begin

asm
{Ваша ессемблерная вставка}
//мб это call,$33 ?
end;

end;
p.S. в делфи нет класса registers

intr - что это?

Последний раз редактировалось Человек_Борща; 08.01.2011 в 12:54.
Человек_Борща вне форума Ответить с цитированием
Старый 08.01.2011, 12:57   #4
Rin
Негодник
Форумчанин
 
Аватар для Rin
 
Регистрация: 10.11.2009
Сообщений: 880
По умолчанию

intr - это вызов прерывания . только что вычитал.

про
Код:
asm

end;
мне известно. но дело то не в этом.
вся эта штука работает в связке.
вот отрывок кода
Код:
   reg.ax := 0;
  intr($33, reg);
   reg.ax := 1;
   intr($33, reg);
   reg.ax := 3;
   down:=true;
   i:=1;
   ring:=nil;
   repeat
    intr($33, reg);
   case reg.bx of
     1 : begin
          if down then begin
           draw(clYellow);
           Ins(ring,reg.cx,reg.dx);
           if i=1 then begin x:=reg.cx; y:=reg.dx;  end;
           if i>1 then begin
             reg.ax := 2;
             intr($33, reg);
             canvas.MoveTo(x,y);
             canvas.lineTo(reg.cx,reg.dx);
             x:=reg.cx; y:=reg.dx;
             reg.ax := 1;
             intr($33, reg);
             reg.ax := 3;
             intr($33, reg);
           end;
           i:=i+1;
           down:=false;
           end;
         end;
     0: down:=true;
     2: Break;
    end;
я исходники качаю по графике и просматриваю их. через год диплом писать.
Если помог, проси поставить минус. Будь оригинален!
Rin вне форума Ответить с цитированием
Старый 08.01.2011, 14:29   #5
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

В Delphi (ещё точнее - в Win32 вообще) это делается совершенно не так. Для консольного ввода-вывода не используются прерывания, а используются обычные функци.

Если хотите - можно найти модуль, который делает работу с консолью максимально похожей на работу с консолью в Turbo Pascal.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 09.01.2011, 01:39   #6
Rin
Негодник
Форумчанин
 
Аватар для Rin
 
Регистрация: 10.11.2009
Сообщений: 880
По умолчанию

Не, ребят. Спасибо. Не люблю напрягать людей. Думал, что кто-то с этим сталкивался. Если не сталкивался, то ни не морочте голову. Если что-то выйдет, то отпишу.
Если помог, проси поставить минус. Будь оригинален!
Rin вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод кода с Java на Pascal Warfvare Помощь студентам 4 19.06.2010 08:38
Перевод кода Delphi-Pascal! Метод Пауэлла bestlover Помощь студентам 3 21.12.2009 17:35
Перевод кода из Pascal в Object Pascal zemskov77 Общие вопросы Delphi 1 03.01.2009 09:37
Перевод кода с Fortran-77 на Delphi unhide Помощь студентам 3 20.05.2008 14:27