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

 WASM Phorum —› WASM.ASSEMBLER —› Перегрузка операторов

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


Дата: Апр 2, 2004 01:53:42

Можно ли (как ?) в Masm перегрузить операторы, чтобы, например, когда я пишу mov var1,var2 вызывался мой макрос с параметром <var1,var2>


Дата: Апр 2, 2004 01:55:30

Хе-хе, а тут еще на тему ООП споры ведутся. Свин, что скажете? ООП на макросах тянем? Или, быть может, перегрузка оператора - это вовсе не ООП??? :)


Дата: Апр 2, 2004 02:17:11

А причём тут "перегрузить" или я что-то не понял..?


Дата: Апр 2, 2004 04:42:16

В FASM есть такой макрос:
macro mov arg1,arg2
if arg1 in <ds,es,fs,gs,ss> & arg2 in <cs,ds,es,fs,gs,ss>
push arg2
pop arg1
else
mov arg1,arg2 ; здесь будет использоваться оpигинальная
; инстpукция 'mov'
end if
Думаю на МАСМ-е макрос будет почти аналогичен, только проверку нужно делать не на сегметные регистры, а на то, что оба параметра - переменные.


Дата: Апр 2, 2004 09:29:06

В фасме то легко, а вот насчет масма, не уверен. Фасм в этом смысле (мощьность макросов) сильно развит - переопределение макросов, отмена последнего переопределения, рекурсивные вызовы (спасибо S_T_A_S_
'овским исходникам).


Дата: Апр 2, 2004 12:28:10 · Поправил: S_T_A_S_

В MASM - нельзя в принципе переопределить зарезервированное слово (MOV)
FASM рулит


Дата: Апр 4, 2004 14:32:22

Хе-хе, а тут еще на тему ООП споры ведутся. Свин, что скажете? ООП на макросах тянем? Или, быть может, перегрузка оператора - это вовсе не ООП??? :)
Я в ОПП не специалист.
Из известных мне ассемблерщиков наиболее серьёзно занимался этим Усов. Кстати, он мог бы неплохую книжку написать про то, что знает, как и Харон Юрий.
Ни тот ни другой почему-то писать книжку не хотят :)

Так вот к нашим баранам, Усов пользовался TASM. А там в конце истории поддержки этого ассемблера начали создавать втроенные средства ОПП. Усов добавлял к ним свои макросы,
вобщем выглядело, на мой взгляд неспециалиста, не хуже а порой и получше чем в C++. У Половникова (тоже пользовался TASM) также код очень смахивал на ОППшный.

IMO оба этих ассемлерщика очень серьёзные программисты.
Оба проффессионалы в буквальном смысле этого слова (т.е. пишут на ассемблере на постоянной основе в коммерческих проектах), занятых такой деятельностью я лично знаю очень немного людей.
Может вышесказанное и говорит в том, что если они находят резоны использовать ОПП в ассемблере, то в этом что-то есть.
Усов, как и я, специализировался на базах данных, правда на использовании а не написании движков, Половников хороший математик и алгоритмист, и хорошо разбирается в низком уровне (в частности писал патчи для TASM и макросы для мнемоник опкода которого уже в TASM небыло, в силу того, что процессоры приобретали всё новые инструкции а TASM перестал поддерживаться).
И то и другое вобщем требует контроля над низким уровнем, но им ОПП не мешало в этом.
Они наверно могли бы получше про это порассуждать, но связи сейчас с ними нет у меня.


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