|
|
|
bems |
|
|||
Эксперт Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: нет Всего: 88 |
как на уровне oпераций выглядит передача параметра в функцию зависит от конвенции вызова. на х64 используется регистр, место в стеке всё равно резервируется (с выравниванием) и делается call
и на паскале ExitProcess потому что win api един стандартный вводной поток в винде это тоже "файл". он может совпадать с CON а может и не совпадать http://msdn.microsoft.com/en-us/windows/hardware/gg463119.aspx ты бы для начала написал компилятор какого-нить простого языка, хоть бы бейсика, для опыта. а то с плюсами ты завязнешь на 15 лет, и так ничего и не сделаешь Это сообщение отредактировал(а) bems - 4.9.2013, 11:18 -------------------- Обижено школьников: 8 |
|||
|
||||
LeonidPr |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 220 Регистрация: 17.2.2012 Где: г. Чебоксары Репутация: 1 Всего: 1 |
Разложу ваши вопросы, которые вы задали в первом посте в куче по пунктам и попробую ответить
1. Начинать с написания кода на языке ассемблер как ни странно. В опкодах писать не советую- ибо тяжко (на то компиляторы/ассемблеры и нужны). Изучение начинать с курса по компиляторам (на Intuit вроде есть), книг по компиляторам, этапов компиляции (Лексический анализ, синтаксический анализ, кодогенерация+оптимизация) книга Дракона вам в руки + статьи по этому делу 2. Регистры по сегментам??? вы о чем? адресное пространство вроде как плоское... 3. Читайте доки по формату PE, там все разжевано (книжка есть Исследование программ Win32 до дизассемблера и отладчика 4. Отвечали уже - в параметре ExitProcess 5. В стеке лежат 6. В ассемблере end <точка входа> в конце .asm файла, в коде - см п.3 7. для Win 64 не программировал, но думаю, что вряд ли сильно отличается от Win32 - ESP и push/pop 8. MSDN 9.Нет. Если вы создаете DLL там есть секция экспорта --------------------
pkunzip.zip |
|||
|
||||
bems |
|
|||
Эксперт Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: нет Всего: 88 |
ну там нет "цепочки ebp" ввод-вывод может быть перенаправлен, нельзя предполагать что стандартный вывод это всегда консоль -------------------- Обижено школьников: 8 |
|||
|
||||
LeonidPr |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 220 Регистрация: 17.2.2012 Где: г. Чебоксары Репутация: 1 Всего: 1 |
Буду знать, спасибо.
Согласен. Просто вопрос был именно про консоль. --------------------
pkunzip.zip |
|||
|
||||
ТарасАтавин |
|
|||
Опытный Профиль Группа: Участник Сообщений: 370 Регистрация: 26.8.2013 Репутация: нет Всего: нет |
Ну как в досе: сегмент, зовут его так то, регистр у него такой то.
Добавлено через 5 минут и 44 секунды
-------------------- Не так всё плохо, как оно есть на самом деле. |
|||
|
||||
bems |
|
|||
Эксперт Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: нет Всего: 88 |
В винде плоское адресное пространство.
Исполняемый файл организован не в сегменты а в секции, адреса которых не должны быть в регистрах. Сегментные регистры используются, но подругому -------------------- Обижено школьников: 8 |
|||
|
||||
ТарасАтавин |
|
|||
Опытный Профиль Группа: Участник Сообщений: 370 Регистрация: 26.8.2013 Репутация: нет Всего: нет |
-------------------- Не так всё плохо, как оно есть на самом деле. |
|||
|
||||
bems |
|
|||
Эксперт Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: нет Всего: 88 |
да http://msdn.microsoft.com/en-us/library/wi...v=vs.85%29.aspx
и push на х32, а на х64 другая конвенция вызова http://blogs.msdn.com/b/oldnewthing/archiv...1/14/58579.aspx -------------------- Обижено школьников: 8 |
|||
|
||||
ТарасАтавин |
|
|||
Опытный Профиль Группа: Участник Сообщений: 370 Регистрация: 26.8.2013 Репутация: нет Всего: нет |
Это сообщение отредактировал(а) ТарасАтавин - 7.9.2013, 13:48 -------------------- Не так всё плохо, как оно есть на самом деле. |
|||
|
||||
bems |
|
|||
Эксперт Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: нет Всего: 88 |
-------------------- Обижено школьников: 8 |
|||
|
||||
ТарасАтавин |
|
|||
Опытный Профиль Группа: Участник Сообщений: 370 Регистрация: 26.8.2013 Репутация: нет Всего: нет |
Я вообще не собираюсь писать ещё один компилятор плюсов.
-------------------- Не так всё плохо, как оно есть на самом деле. |
|||
|
||||
bems |
|
|||
Эксперт Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: нет Всего: 88 |
ну напиши Паскаля Добавлено через 16 секунд окей -------------------- Обижено школьников: 8 |
|||
|
||||
ТарасАтавин |
|
|||
Опытный Профиль Группа: Участник Сообщений: 370 Регистрация: 26.8.2013 Репутация: нет Всего: нет |
я одним даже компилил. Но почему то в отличие от паскаля/C/C++ для него всё таки исконно преобладали интерпретаторы. Не потому ли, что сложно компилить язык, с объявлением переменной при первом присваивании, чудным присваиванием через LET, с зависимостью типа переменной от её имени и тому подобными дебрями?
Добавлено @ 13:54 Я на Вирата похож? Добавлено через 3 минуты Как? И надо ли их куда то назначать и что то в них загружать? Это сообщение отредактировал(а) ТарасАтавин - 7.9.2013, 13:54 -------------------- Не так всё плохо, как оно есть на самом деле. |
|||
|
||||
bems |
|
|||
Эксперт Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: нет Всего: 88 |
это не влияет на то как это компилировать, просто особенности синтаксиса
на самом деле ты похож на излишне деятельного подростка. вопросы которые ты задаешь ясно показывают что гонору у тебя больше чем знаний. Добавлено через 6 минут и 40 секунд например в х32 регистр FS указывает на TIB, соответственно используется при установке SEH-фреймов, работе с tls и тд -------------------- Обижено школьников: 8 |
|||
|
||||
ТарасАтавин |
|
|||
Опытный Профиль Группа: Участник Сообщений: 370 Регистрация: 26.8.2013 Репутация: нет Всего: нет |
-------------------- Не так всё плохо, как оно есть на самом деле. |
|||
|
||||
Правила форума "Asm для Windows/DOS" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Asm для Windows/Dos | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |