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

 WASM Phorum —› WASM.ASSEMBLER —› дооолго ассемблит

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


Дата: Июл 5, 2003 18:16:05

относительно небольшой файлик ассемблится на iCel1700 несколько десятков секунд - это чего за беда ? может нельзя было статические массивы по сотням кб объявлять ? но почему это такая проблема ?

вот оно : ftp://files.drakan.ru/FarScreen/ms_asm.zip


Дата: Июл 6, 2003 00:28:07

Еще бы ftps файлик отдавал...


Дата: Июл 6, 2003 10:28:54 · Поправил: Безпощадный даос

билят - похоже опять DNS глючит :( ...

ну попробую заюючить - оно в архиве то 3.5 кб всего, но прямым текстом ок 26 кб - много места займет...

дополнение - все эти тормоза происходят при ассемблировании масмом, версия вроде 7 ...

кроме того обнаружилась забавная и возможно опасная фича - мне там надо было несколько функций с разными видами одного и того же преобразования сделать (т.е. с разными параметрами), и я после отладки одной, скопировал куски и поменял название proc .. endp и поправил параметры циклов и т.д., но МЕТКИ остались те же самые, и масм на это не матерился ! (причем все работало :) ) это тоже нормально ? я потом конечно имена меток сделал уникальными на всякий случай...
section 1 of uuencode 5.10 of file ms8x20.zip    by R.E.M.

/begin 644 ms8x20.zip
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
4!08``````P`#`+4```!G#@``````
`
end
sum -r/size 46894/5389 section (from "begin" to "end")
sum -r/size 63008/3890 entire input file



Дата: Июл 6, 2003 11:04:41

Только тебе надо было его тегом кода оформить, чтобы красивей было :). Впрочем, сейчас сам сделаю..


Дата: Июл 6, 2003 12:31:56

[ Drakon_Rider: относительно небольшой файлик ассемблится на iCel1700 несколько десятков секунд - это чего за беда ? может нельзя было статические массивы по сотням кб объявлять ? но почему это такая проблема ? ]

Да, ессть такое дело. IMHO, никак не лечится. Да в общем это и не надо. Если те большой кусок памяти нужен, то пользуй соответствующие апи. Если неприменно нужно большую секцию данных, то единственный способ - чтоб каждый раз не ждать - ассемблировать модуль с буферами отдельно и подключать получившийся *.obj при линковке, например так:
; Модуль data.asm
.386
.model flat, stdcall
option casemap:none

PUBLIC buf1
PUBLIC buf2
PUBLIC buf3
PUBLIC buf4
PUBLIC buf5

.data?
buf1 byte 100000 dup (?)
buf2 byte 100000 dup (?)
buf3 byte 100000 dup (?)
buf4 byte 100000 dup (?)
buf5 byte 100000 dup (?)

end

rem батник. Компилиться будет может несколько минут - это нормально.
@echo off
\masm32\bin\ml /nologo /c /coff data.asm
pause
exit

; Модуль main.asm
.386
.model flat, stdcall
option casemap:none

EXTERNDEF buf1:ptr byte
EXTERNDEF buf2:ptr byte
EXTERNDEF buf3:ptr byte
EXTERNDEF buf4:ptr byte
EXTERNDEF buf5:ptr byte

.code

start:
mov eax, offset buf1
mov eax, offset buf2
mov eax, offset buf3
mov eax, offset buf4
mov eax, offset buf5
end start


rem батничек
@echo off
\masm32\bin\ml /nologo /c /coff main.asm
\masm32\bin\link /nologo /SUBSYSTEM:WINDOWS main.obj data.obj
pause
exit



[ Drakon_Rider: ...но МЕТКИ остались те же самые, и масм на это не матерился! ]

Метки внутри процедур локальны, так что все нормально. Если нужна глобальная метка то так:
lbl::


Дата: Янв 5, 2004 01:35:45 · Поправил: Black_mirror

IMHO, никак не лечится.
Лечится переходом на fasm!
buf rb 10000000h 
- ассемблирует пару секунд(памяти 512M)
times 1000000h db 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
- ассемблирует около минуты(процессор AthlonXP1900+)
Но для второго случая есть директива file. Можно добавить хоть звук, хоть картинку. Не нужно в obj преобразовывать и всякими restorator'ами не испортят.


Дата: Янв 5, 2004 06:03:33

Если всё таки не FASM, но нужно файл - см. bin2o от f0dder'a.

http://f0dder.schwump.net/dl/bin2o_04.zip

http://f0dder.has.it/


Дата: Янв 5, 2004 06:05:32

Только одна фишка, само имя надо начинать с "_", тоесть если хочешь объявить "music", так:
bin2o music.xm music.obj _music

MASM:
extrn music:byte


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