|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
01.11.2016, 09:15 | #1 |
(aka Jin X) !RTFM!
Форумчанин
Регистрация: 14.12.2014
Сообщений: 295
|
Макросы TASM
Написал вот такой макрос:
Код:
Однако есть проблема: компилер выдаёт warning, что "Module is pass depending". Как от этого избавиться? Вообще, есть где-нибудь нормальный мануал по макросам в TASM/MASM ? Ищу, не могу найти ничего... И ещё, можно ли как-то определить: используется ли та или иная процедура в коде или нет? Чтобы написать include с несколькими процедурами, а в код включать только те, которые реально используются. Кстати, как проверить - какой ассемблер используется: TASM, MASM или FASM ? Может, какие-то символы определены для этого?
Делаю лабы на Asm/Delphi/C++/Python/VBA(Excel): asmlabs.ru
|
01.11.2016, 11:29 | #2 | |||
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
Цитата:
Цитата:
Цитата:
Последний раз редактировалось Mikl___; 01.11.2016 в 17:16. |
|||
01.11.2016, 14:30 | #3 |
(aka Jin X) !RTFM!
Форумчанин
Регистрация: 14.12.2014
Сообщений: 295
|
Спасибо!
По остальным вопросам есть какая-нибудь инфа?
Делаю лабы на Asm/Delphi/C++/Python/VBA(Excel): asmlabs.ru
|
01.11.2016, 17:13 | #4 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
А возьми какой-нибудь вьювер и посмотри содержимое obj-файла — совсем не сложно увидеть каким компилятором он создавался
Последний раз редактировалось Mikl___; 01.11.2016 в 17:18. |
03.11.2016, 03:19 | #5 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
скачай сам macros for masm32
|
09.11.2016, 22:39 | #6 | |
Пользователь
Регистрация: 17.02.2013
Сообщений: 26
|
Цитата:
Из каждой процедуры создаешь отдельный OBJ-файл, потом объединяешь библиотекарем эти файлы в библиотеку. При компоновке указываешь эту библиотеку среди имен компонуемых файлов и компоновщик из нее выберет только те объектные файлы, что реально используются. Правда, я библиотекарем никогда не пользовался. Надо попробовать. Пишу чисто теоретически. Но вроде бы все именно так. И да, я тут про решение на уровне компоновки, а не на уровне include в исходный текст. |
|
09.11.2016, 22:44 | #7 | |
Пользователь
Регистрация: 17.02.2013
Сообщений: 26
|
Цитата:
Или, если ты используешь TASM не указывать ключа /m Тогда TASM будет ассемблировать в один проход. А на уровне текста макроса никак. Ибо твой макрос действительно раскроется на первом проходе и не раскроется на втором. Т.е он реально pass dependent |
|
10.11.2016, 12:56 | #8 |
(aka Jin X) !RTFM!
Форумчанин
Регистрация: 14.12.2014
Сообщений: 295
|
Ethereal2, ну хорошо, может, тогда как-то по-другому этот макрос построить?
Ну, например, создавать константу с другим именем и присваивать ей разные значения в зависимости от существования исходной константы или ещё как-то... Суть в том, что если перед include задана какая-то константа, тогда она используется в коде. Если не задано, используется значение по умолчанию...
Делаю лабы на Asm/Delphi/C++/Python/VBA(Excel): asmlabs.ru
|
10.11.2016, 12:57 | #9 |
(aka Jin X) !RTFM!
Форумчанин
Регистрация: 14.12.2014
Сообщений: 295
|
А что изменится от того, что он раскроется или не раскроется в каком-либо проходе? Всё равно значение оно примет одно и то же...
Делаю лабы на Asm/Delphi/C++/Python/VBA(Excel): asmlabs.ru
|
10.11.2016, 14:28 | #10 |
Пользователь
Регистрация: 17.02.2013
Сообщений: 26
|
Так это ты кому этот вопрос задаешь ? Если ассемблеру, то нет у него искусственного интеллекта. Pass dependent ? Получи warning и сам разбирайся что не так. Если все так - проигнорируй warning. Вот весь его интеллект.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Макросы | Юра154 | Microsoft Office Excel | 3 | 29.08.2015 18:59 |
Макросы TASM | pinkiller | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 0 | 25.03.2012 15:35 |
TASM дело тонкое!:) (Где в TASM IDE?) | 3.14oner | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 9 | 15.11.2011 16:20 |
макросы | Jana 001 | Microsoft Office Excel | 2 | 08.12.2010 22:16 |
макросы С++ | Lazio | Помощь студентам | 3 | 18.03.2009 23:38 |