|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Июн 22, 2004 15:40:31 S_T_A_S_ > возможно Aquila захочет его положить в другое место. Спасибо! Я вот точно захочу, и даже уже переложил, в хорошее место, к себе на винт :-) |
|
|
Дата: Июн 22, 2004 16:52:55 S_T_A_S_ Вот только я не понял про структуры. В fasm'е структуры описываются так: struc PROCESSINFO
{
.hProcess dd ?
.hThread dd ?
.dwProcessId dd ?
.dwThreadId dd ?
}
struct PROCESSINFO
Вот эта последняя строчка struct PROCESSINFO она обязательна или нет? |
|
|
Дата: Июн 22, 2004 18:18:46 · Поправил: S_T_A_S_ Макрос struct определён так: macro struct name
{ virtual at 0
name name
sizeof.#name = $
end virtual
name equ sizeof.#name } Самое главное - struc только задаёт формат структуры. Перед тем, как ваполнять что-то вроде mov eax, [ebx+PROCESSINFO.dwProcessId], необходимо этот формат к чему-то применить. Вот struct и создаёт "виртуальный" объект с именем PROCESSINFO. virtual at 0 задаёт его находящимся (как-бы) по адресу 0. Сответственно, все элементы (члены) структуры примут свои "адреса" И получится: mov eax, [ebx+8]. Смысл struc в твоём примере - определить локальные метки, которые потом прикрепятся к какой-то глобальной. В общем-то это самое простое применение struc, иммитирующее аналоги из MASM/TASM. А можно ведь внутри и макросы создавать. |
|
|
Дата: Июн 22, 2004 20:07:39 · Поправил: Asterix S_T_A_S_ Что это для макроса struct я понял, но почему это макрос не может определить размер структуры по символу } Зы: лучше в chm'е использовать обычный фон, а то от жёлтого квадрата в глазах рябит ;-) Например такой.. [ATTACH] |
|
|
Дата: Июн 22, 2004 20:41:24 [ Asterix : почему это макрос не может определить размер структуры по символу } ] Тогда нужно было бы добавить в FASM специальную команду, вроде SizeOf. Но struc можно написать таким образом, что размер будет зависеть от какого-то условия, тогда как быть.. а так всё Ok. > лучше в chm'е использовать обычный фон, а то от жёлтого квадрата в глазах рябит ;-) Дык у меня уже при любом фоне от него рябит, даже когда с закрытыми глазами смотрю :-) |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.042 |