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

 WASM Phorum —› WASM.ASSEMBLER —› Расскажите о FASM

<< . 1 . 2 . 3 . 4 . >>

Посл.отвђт Сообщенiе


Дата: Апр 30, 2003 22:14:49

Зы: Во как тема развилась ! =))


Дата: Май 1, 2003 01:23:07

чуть > min
MACRO и PROC - 2 классических кита.
Добавить 3-го как их синтез.

Начинаться его определение будет одним символом, напр. "#" или ":" - как опр. слова в Forth. Пусть объект называется напр. VERB (глагол).

Работает:
1) при n вызовах - в точности как MACRO
2) при кол. вызовов >n - как PROC
3) n задаётся при объявлении, напр. :n (:2, :3 .., в частн. : = :1 по умолчанию)

ЕСЛИ препроцессор насчитал вызовов данного VERB <= n, то данный VERB тождественен MACRO со всеми последствиями. М.б. просто заменяет ":n" на "macro" ?
ИНАЧЕ тело VERB вставляется в область подпрограмм, PROC, заданную юзером. В прост. случае перед телом добавляется метка совпадающая с именем данного VERB (NAME_VERB:), а в конце тела - RET или даже JMP на адрес общего для всех VERBов RET. Все вызовы NAME_VERB заменяются на CALL NAME_VERB. (или в непростейшем сл. соответственно proc, enter, return, stdcall ?)

Внутри определения VERB желателен символ означающий перевод строки, напр. (`) чтобы иметь возможность писать всё в строку. Эти все ` заменяется на 13,10 сразу при первом проходе.
Пусть определены VERBы name1 и name2. Тогда определение name3:

:2 name3 arg1, arg2
{
mov edi,esi ` push arg1 `name2
pop eax ` name1 `sub eax,arg2
}

Потребуется несколько проходов чтобы выполнить все подстановки VERB.
Дальше текст передаётся уже TOMASZ GRYSZTAR-овскому препроцессору FASM и т.д.


Дата: Май 1, 2003 07:13:35

2TIM factory
В тему подметил :))


Дата: Май 3, 2003 15:44:48

Я за MASM !!!


Дата: Май 3, 2003 20:21:04 · Поправил: BaldakBatur

Конечно, MASM развитее... Но FASM перспективенее открытостью кода. И - рискну сказать - талантливостью автора. Сейчас это точка роста. Шанс что вырастет high и low язык одновременно, извечная мечта..


Дата: Май 4, 2003 00:29:12

umka
Вперед к победе MASM'а???
:)))))


Дата: Май 4, 2003 01:38:01

Масм как имя компилятора или как Макро АСеМблер ?


Дата: Май 5, 2003 01:09:07

Как шутка :))))
А если серьезно, то новый макро-компилятор просто необходим. Я так считаю


Дата: Май 5, 2003 03:30:52

А может и вообще новый язык программирования...


Дата: Май 6, 2003 06:39:14

Basic davaite delat' s ASM vstavkami i bez goto :)


Дата: Май 6, 2003 19:50:05

spaces
А .NET это что по твоему?
Вообще месяца три назад я обговаривал идею переноса асма между платформами.
Теория получилась следующая

ASM -> MycroASM (язык стековой машины) -> ASM целевой машины.

Короче мы даже это частично на бумаге доказали :)))


Дата: Май 6, 2003 20:06:07

BaldakBatur
Потребуется несколько проходов чтобы выполнить все подстановки VERB.
Дальше текст передаётся уже TOMASZ GRYSZTAR-овскому препроцессору FASM и т.д.

Не уверен на счёт проходов. Это можно оптимизировать.
Но дело не в этом. Если вы ребята усовершенствуете FASM должным образом...
Честное слово перейду на него!!!


Дата: Май 6, 2003 20:36:22

...идею переноса асма между платформами
Я и щас об этом думаю, и ничего сложного в этом нет, я даже рассылку по теме нашёл...тоесть надо просто создать свою архитектуру програмно и уже под неё писать ассемблер...
компилер будет переводить этот код в код нужной архитектуры, и ещё можно в довесок сделать скриптовый язык и програмный проц к нему или другими словами виртуальную машину...


Дата: Май 7, 2003 15:06:15

spaces
Ну я бы не спешил с определением лёгкости. :))
Перевод асма с платформы на платформу это ещё неразпаханная нива.


Дата: Май 8, 2003 14:54:16

http://www.n-t.org/tp/ts/uk.htm
Для тех, кто жаждет нового

<< . 1 . 2 . 3 . 4 . >>


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