Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.08.04;
Скачать: CL | DM;

Вниз

Inline asm: произвол Delphi   Найти похожие ветки 

 
Burmistroff   (2003-05-22 00:40) [0]

Добрый день! Ни кто случайно не знает, как скомпилировать push $00000001?

Все дело в том, что если я пишу напрямую (push $00000001), то после компиляции имею push $01 или push $0001. Суть в том, что получается совершенно другая инструкция процессора, и длинна вносимого в стек числа (?). Я вынужден делать так:
push ebx
mov ebx, $00000001
push ebx
push somthing
call dword ptr[some address] //вызов WinAPI ф-ции
pop ebx
Но это очевидно извращение :)

P.S. я в ASM"е - 0


 
Ihor Osov'yak ©   (2003-05-22 01:38) [1]


push dword ptr 1


 
theodor_iv ©   (2003-05-22 10:53) [2]

2 Burmistroff: пиши push 1 -- не ошибешься! Даже если инструкция другая (а она будет выглядеть как $6A/$01), то в стек помещается всегда $00000001.


> Ihor Osov"yak © (22.05.03 01:38)
>
> push dword ptr 1


Работает только в Дельфи 6 и 7. В более ранних версиях компилируется в push dword ptr [ $00000001 ], т.е. поместить в стек двойное слово из памяти по адресу $00000001 -- гарантированный Access Violation.


 
Ihor Osov'yak ©   (2003-05-22 15:38) [3]

2 theodor_iv © (22.05.03 10:53)

Да уж.. Спасибо за уточнение.



Страницы: 1 вся ветка

Текущий архив: 2003.08.04;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.012 c
8-10312
chyaynik
2003-04-13 16:58
2003.08.04
Текст на картинке


14-10397
Soft
2003-07-17 12:08
2003.08.04
Российский программист судится с промышленным гигантом


1-10225
Endi
2003-07-18 01:59
2003.08.04
И снова прозрачный Edit


14-10431
Кен
2003-07-09 02:59
2003.08.04
Рождение жизнь и смерть ЛЮБОГО форума


1-10276
FlyingHome
2003-07-21 12:55
2003.08.04
Как перетаскивать окна не за заголовок, а за любую точку?