Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2003.08.04;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.008 c
7-10468
Raduga
2003-05-22 15:24
2003.08.04
Как определить размер памяти занимаемой программой из самой прогр


14-10357
sniknik
2003-07-18 17:32
2003.08.04
В чем разница? аспекты компилятора Дельфи мне незнакомые.


14-10405
Niko4543
2003-07-16 21:17
2003.08.04
Копмонент


11-10159
Arhangel
2002-12-01 20:36
2003.08.04
перевести свою старую программу на


3-10147
OlkaGTS
2003-07-11 14:07
2003.08.04
Фильтр и индекс по Lookup полю





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский