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

 WASM Phorum —› WASM.HEAP —› RadAsm.

<< . 1 . 2 .

Посл.отвђт Сообщен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
Но в ТАСМе то почему то таких проблем нет?

<< . 1 . 2 .


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