|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Авг 8, 2004 23:32:31 Вот первый: как в FASMe использовать локальные переменные не используя макросы proc, end proc, нужно ли выделять память или адрисоваться на стек? Например:
metka:
push ebp
mov ebp,esp
virtual ebp+40h
.var1 dd ?
.var2 rb 10h
end virtual
...
...
mov esp,ebp
pop ebp
ret
Или как-то еще? Мой пример - это всего лишь полет фантазии, я даже не знаю будет ли он работать?.... |
|
|
Дата: Авг 8, 2004 23:49:31 · Поправил: Asterix KiNDeR Нужно было в отдельный топик оформить :-) Тут можно обойтись ведь и средствами ассемблера, без макросов.. Хотя мне тоже интересно как это сделать при помощи макросов :-) PUSH EBP MOV EBP,ESP SUB ESP,100h ; <-вот тебе локальный буфер LEA EDX,DWORD PTR SS:[EBP-100h] ; <-а это к нему обращение PUSH EDX |
|
|
Дата: Авг 9, 2004 03:55:10 · Поправил: S_T_A_S_metka:
pusha ; reserve 8 DWRODs
.var1 equ esp
.var2 equ esp+4
........
mov eax,[.var1]
........
lea edx,[.var2]
........
add easp,8*4 ; free stack frame
ret
Хотя при работе со стеком через ESP (наиболее дзенный и самый естественный способ) необходимо учитывать изменения ESP, например, из-за push/pop, так что лучше всё же использовать макросы которые будут учитывать эти изменения и корректировать адресацию через метки соответствующим образом. Пример таких макросов можно найти в соседнем топике. ЗЫ: по теме Манией ВЕЛИЧИЯ не страдаю, просто miniBB не понимает точки. |
|
|
Дата: Авг 10, 2004 21:00:00 Asterix`у! В асе набрал твой ник ключевым словам настучал assebler знаишь чо выдало девушку, вот и думаю интересы схожие и кто тут у кого ник скомуниздил и грамотно замазал? :) |
|
|
Дата: Авг 11, 2004 18:20:28 quote by EvilsInterrupt В асе набрал твой ник ключевым словам настучал assebler знаишь чо выдало девушку Гы:) я тоже нашел:) правда ключевое слово у меня было assembler :o) |
|
|
Дата: Авг 12, 2004 00:33:23 EvilsInterrupt Забавно, но когда я регистрировал асю ник Asterix был уже занят, поэтому у меня там другой ник ;-), да и асей я не пользуюсь т.к. сижу на поминутном инете :-( |
|
|
Дата: Авг 12, 2004 10:14:14 Asterix Будь так добр зайди на 337310594 часос 22.00 по москве 12 числа буду рад! |
|
|
Дата: Авг 12, 2004 12:12:56 EvilsInterrupt ничего не получится, sorry. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.046 |