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