|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Дек 2, 2003 20:05:18 · Поправил: S_T_A_S_ hGoblin У меня были разные проблемы с RadASM. Обычно, когда обновлял, забывал после этого добавить в ручную в *.ini файлы новые строки. Может в этом дело? |
|
|
Дата: Дек 2, 2003 21:14:39 Смотря о каких файлах речь. У меня RadASM считает переменными только то, что прописано в fasm.ini в [Code] Data. Впрочем даже если прописать там $ RECT , ничего кроме распознавания не изменится. В пропертях имя появится, но структурой его не считают. Одно время писал в fasmApiStruct после строчки RECT,left,right,... rct,left,right,..., а в секции .data - rct RECT, так что RadASM считал rct именем структуры и вываливал список, а фасм знал, что это переменная и не ругался. Только надоедает с каждой новой переменной в апистракт лезть. Вот и открыл способ экономии памяти, прописывая временные структуры в vitual. В масме еще извернуться надо, чтоб такое сделать! |
|
|
Дата: Дек 3, 2003 15:02:59 Правка В масме еще извернуться надо, чтоб такое сделать! Не надо, т.к. там всё и так работает... У меня RadASM считает переменными только то Переменными или переменными известных (т.е. RadASM) типов? Впрочем даже если прописать там $ RECT , ничего кроме распознавания не изменится. В пропертях имя появится, но структурой его не считают. И не должен считать, т.к. смотри правила определения структур. Только надоедает с каждой новой переменной в апистракт лезть. Опять же, переменной или новым типом? Если второе, то придётся "лезть", пока не изменится алгоритм распознания их в RadASM. Это можно сделать так, чтобы, например, RadASM сканировал подключённые заголовочные файлы на предмет функций/структур и т.д. Как делают HLL IDE... |
|
|
Дата: Дек 3, 2003 17:47:33 В масме еще извернуться надо, чтоб такое сделать! Не надо, т.к. там всё и так работает... Не понял... что работает? Если Вы про определение типов в RadASM, то я не про него. Написано же - способ экономии памяти. Без усложнений исходника. В масме ничего лучше чем mov ebx,offset temp assume ebx:RECT mov ebx.left,2 я не нашел. А в фасме - благодать! virtual at temp rct RECT end virtual mov [rct.left],2 Причем RadASM в этом случае подставляет left после точки. Про апистракт. Туда я записывал имена переменных. То есть пишу в .asm: .data rct RECT *apiStruct.api: rct,left,right,... После таких манипуляций RadASM подставляет left после RECT. и rct. Но без прописывания rct в apistruct не работает :( |
|
|
Дата: Дек 3, 2003 22:13:26 hGoblin В масме ничего лучше чем mov ebx,offset temp assume ebx:RECT mov ebx.left,2 я не нашел. Или так: mov (RECT PTR [ebx]).left,2 У меня в обоих случаях RadAsm правильно подставляет left. |
|
|
Дата: Дек 4, 2003 02:27:37 Да, но в fasme для этого не нужен регистр ;p |
|
|
Дата: Дек 5, 2003 21:05:08 Правка hGoblin *apiStruct.api: rct,left,right,... Если так написать, то RadASM будет распознавать rct как тип! И работать будет так: .data rect RECT r rct .code mov rect.left,2 mov r.left,2 Т.е. RECT он уже знал, rct вписан, уже тоже знает. А если записать как у вас: .data rct RECT, то это объявление переменной, но не нового типа данных. |
|
|
Дата: Дек 5, 2003 22:02:29 Создаю проект для FASM, но члены структуры он не предлогает вставить. Делаю то же для тасм всё окей. Почему? (файл с определением структур из каталога тасм я скопировал переименовав в ФАСМ по аналогии и в fasm.ini добавил соответствующую строчку Struct=Fasm\fasmApiStruct.api) |
|
|
Дата: Дек 5, 2003 23:57:08 · Поправил: hGoblin IceStudent Если так написать, то RadASM будет распознавать rct как тип! Блин, я знаю! И пользуюсь этим, точнее пользовался. Что мне оставалось делать, если RadASM выводит список после имени типа, но не переменной. Это я так забавлялся. Производительность так не повышается и разговаривать тут, в принципе не о чем. pas А фокус с virtual (выше) прокатывает? Сдается мне, это из-за распознавания типов. RadASM смотрит в какой секции что определено, и если в .data написать r RECT, заглянет в fasm.ini, если там есть $ RECT, считает переменной (но не структурой), если нет - вообще ничего не делает. Похлже, это неизлечимо.:( |
|
|
Дата: Дек 6, 2003 01:19:54 hGoblin Но в ТАСМе то почему то таких проблем нет? |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.048 |