![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Georg4 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 961 Регистрация: 2.11.2002 Репутация: 0 Всего: 10 |
var
r: registers; begin r.ah := $84; r.dx := 1; intr($15, r); writeln(' A.X = ', r.ax:3); writeln(' A.Y = ', r.bx:3); writeln(' B.X = ', r.cx:3); writeln(' B.Y = ', r.dx:3); Как это будет на дельфях? В дельфи нет типа registers оно берется в Паскале в модуле WinDos unit -------------------- Никто и никогда не должен решать одну проблему дважды |
|||
|
||||
| cvi |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 10.9.2003 Где: Украина, Киев Репутация: нет Всего: нет |
Так нельзя
|
|||
|
||||
| Serggggg |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 136 Регистрация: 12.12.2003 Где: Донецк, Украина Репутация: нет Всего: нет |
Ну а если попробовать вытащить значения регистров напрямую через ассемблерный код? Т.е. сделать ассемблерную вставку, где прописать в регистры значения, вызвать какое-нибудь прерывание и присвоить эти значения ренистров переменным.
cvi, наверное, если бы так было можно, то надобности в рассмотрении проблемы не было. --------------------
C уважением, Serggggg. |
|||
|
||||
| Georg4 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 961 Регистрация: 2.11.2002 Репутация: 0 Всего: 10 |
Вызывает затруднение часть где
intr($15, r); writeln(' A.X = ', r.ax:3); writeln(' A.Y = ', r.bx:3); writeln(' B.X = ', r.cx:3); writeln(' B.Y = ', r.dx:3); А выше этого делается просто ассемблерная вствка -------------------- Никто и никогда не должен решать одну проблему дважды |
|||
|
||||
| Serggggg |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 136 Регистрация: 12.12.2003 Где: Донецк, Украина Репутация: нет Всего: нет |
Напомни пожалуйста, что есть intr.
И ещё - тебе нужно просто вывести значения регистров на экран (на чёрный экран, как в паскале) или забить их в Edit'ы? --------------------
C уважением, Serggggg. |
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
intr - вызов прерывания
asm mov ax, [r.ax] mov bx, [r.bx] ... Int 15h mov [r.ax], ax mov [r.bx], bx ... end; В регистры заносятся значения из структуры r, вызывается прерывание, и новые значения регистров записываются обратно в структуру r. А WriteLn в консольном приложении можно оставить такими же... -------------------- С уважением, г-н Посол. |
|||
|
||||
| Петрович |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 25 Всего: 55 |
Дык насколько я понимаю с Int-ом тебя винды пошлют далеко и надолго.
-------------------- Все знать невозможно, но хочется |
|||
|
||||
| Georg4 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 961 Регистрация: 2.11.2002 Репутация: 0 Всего: 10 |
Могут послать, по крайней мере 2К точно пошлют.
А в 98 есть варианты! -------------------- Никто и никогда не должен решать одну проблему дважды |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |