· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.HEAP —› Что в NIK'е тебе моём...

<< . 1 . 2 . 3 .

Посл.отвђт Сообщен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.

<< . 1 . 2 . 3 .


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.046