ZXNet эхоконференция «code.zx»
тема: Storm
от: 812/08.14
кому: Paul Falcon
дата: 13 Aug 1997
Привет, Paul!
PF> Hу, не понравилось вот что :
PF> 1. тормоз курсора
Исправимся.
PF> 2. экран маловат как-то
некоторые ругают XAS за это
Максимум, что будет - 40*22 (для турбо).
Те, кто ругает XAS за _это_ - в другой
лодке.
TO_ALL: это SPECTRUM, дорогуши, и не
текстовый редактор, к тому же...
Если то, что не очень нужно, сулит про-
грессирующий геморрой, делать мы этого
не будем. Мосты сожжены - формат хране-
ния текста _не_допускает_ строк длиннее
40 символов.
Если пытаться всем угодить, получится
плохо. Hапример, ZXASM - до текстового
редактора не дотягивает, а ассемблинг
неудобен - не рыба, не мясо...
PF> 3.горячие клавиши нужны
Будут, но не ценой отказа от "" пр.
Будет через CAPS SHIFT - переход большие/
маленькие буквы нужен архиредко (будет
только через LOCK).
PF> 4.отметки почти не видно
Будет setup, будет...
PF> Вот пожелания :
PF> 1.сделайте сами 64 символа
Hе будем, смотри HELP.
PF> 2.если решили сделать поддержку рас-
PF> ширеной памяти, то уж постарайтесь
PF> все варианты расширений поддержать
Подумаем. Дело в том, что при компиляции
для поиска метки и отписывания кода
нужно щелкать клювом. К тому же, поиск
метки активно юзает стек и использует все
регистры. Стало быть, CALL RAMDRV не под-
ходит... А если извратиться, то время ком-
пиляции увеличится процентов на 10...
Мы пощадили нервы обладателям хитрых машин
и не стали юзать OUT (#FD),A, хотя освобо-
дить BC было иной раз проблематично...
TO ALL: У кого-нибудь есть инфа, на каких
машинах не проходит OUT (#FD) с установ-
ленным шестым битом?
Точно будет лишь поддержка SCORPION.
Возможно - PENTAGON 512.
Для остальных машин будет подробная дока,
что куда вставить, чтобы работало...
Hе все же нам делать...
PF> 3.Конвертор бы не мешал .
Зачем? См. письмо к Ване.
PF> Да, кстати, хоть это и демо версия,
PF> но все же, я в Storm'e набрал :
PF> LD a,(ix+0)
PF> и так на всю память отассемблировал
PF> засек время, то же в xas'e, и вдруг
PF> xas в 2,5 раза быстрее , почему ?
Так, как ты проверял, проверять ни-и-зя!!!
а) Я проверял на двух _реальных_ текстах
Мой результат я привел в хелпе.
б) об'ем памяти под текст у нас одинако-
вый, да вот неувязочка - в STORM лезет
_ВДВОЕ_ больше подобных строк.
LD A,(IX+0) XAS: 8 байт
STORM: 4 байта
Я проверил для двух тысяч строк.
Результат : XAS 1.9 сек
STORM 2.5 сек
Действительно, медленнее... в 1.3 раза
Где-то медленнее, где-то быстрее...
Проверь на других командах.
Повторяю, для реальных текстов будет
быстрее в 1.5 раза, для текстов с
большим количеством меток будет еще
быстрее за счет быстрого поиска...
г) справка. байт/строка
LD A,B 3
LD A,#50 4
LD A,KKK 5
LD A,KKKDD 7
LD A,(IX+5) 4
LD A,(IX+SH) 5
LD HL,#8000 5
LD HL,(#8000) 5
JR PR10 5
BIT 7,(IY+10) 5
LD HL,(#8000+ECODE)*10 14
LD HL,((#8000+ECODE)*10) 14
Вопросик:
Может, расскажешь в общих чертах методику
компиляции (можно мылом).
У меня: засос одного/двух операндов,
определение группы каждого операнда,
быстрая перекодировка по таблице примени-
тельно к команде, затем, для первого про-
хода из таблицы просто берется длина,
для второго происходит переход к одной из
50 процедур генерации кода применительно
к командам. Компиляция происходит в буфер
192 байта, по переполнению происходит
сброс кода в страницы. Всегда открыта
страница текста. Поиск метки щелкает клю-
вом. Для поиска метки делается следующее
(HASH-поиск в масштабах SPECTRUM...) -
все буквы метки заксориваются друг с дру-
гом со сдвигами, получаем
характеристический байт, он же индекс в
таблице, указывающий на первый элемент
с таким характ. байтом. Далее поиск вида
POP HL:SBC HL,DE:JR NZ,...
В худшем случае (ок. 2000 меток) переры-
вать приходится менее 30 меток.
В каждом элементе есть адресная ссылка на
следующий элемент. В элементе указаны все
буквы, кроме последней (скрипач не нужен).
Зарезервирован бит ссылки, можно посмот-
реть метки, на которые нигде нет ссылок.
PF> ps.када паковку в ммд сделаешь?
PF> все же уже есть ?
Почти... После ENLIGHTа, наверное...
С наилучшими пожеланиями,
-=LD=- X-TRADE GROUP.
от: 812/03.00
кому: Dmitry Lomov
дата: 14 Aug 1997
Привет, Dmitry!
PF>> 1. тормоз курсора
DL> Исправимся.
Кста неплохо бы в два инта опрос сделать,
т.е. первый раз проверка нажатия ,второй
подтверждение .Hа повторе можно не делать
а то у некоторых на пленочных клавах
двойные кнопки не нажимаются (ext,del...)
PF>> 1.сделайте сами 64 символа
DL> Hе будем, смотри HELP.
Hайдутся умники и изуродуют ...
PF>> 2.если решили сделать поддержку рас-
PF>> ширеной памяти, то уж постарайтесь
PF>> все варианты расширений поддержать
DL> Подумаем. Дело в том, что при компиляции
DL> для поиска метки и отписывания кода
DL> нужно щелкать клювом. К тому же, поиск
DL> метки активно юзает стек и использует все
DL> регистры. Стало быть, CALL RAMDRV не под-
DL> ходит... А если извратиться, то время ком-
DL> пиляции увеличится процентов на 10...
DL> Мы пощадили нервы обладателям хитрых машин
DL> и не стали юзать OUT (#FD),A, хотя освобо-
DL> дить BC было иной раз проблематично...
Угу , в ксасе из за этого out (#fd),a
и юзается и переделка под большую память
мне будет дорого стоить ...
DL> TO ALL: У кого-нибудь есть инфа, на каких
DL> машинах не проходит OUT (#FD) с установ-
DL> ленным шестым битом?
Шестой бит действует тока н скорпионе
и на кае , нигде более ничего не дает .
DL> Точно будет лишь поддержка SCORPION.
DL> Возможно - PENTAGON 512.
DL> Для остальных машин будет подробная дока,
DL> что куда вставить, чтобы работало...
DL> Hе все же нам делать...
:) и правда , видал я драйвера к аласму
кондратьий ( не М.Кондратьев :) чуть не
хватил . Работает еще хуже ...
DL> LD A,#50 4
DL> LD A,KKK 5
DL> LD A,KKKDD 7
DL> LD A,(IX+5) 4
DL> LD A,(IX+SH) 5
DL> LD HL,#8000 5
DL> LD HL,(#8000) 5
DL> JR PR10 5
DL> BIT 7,(IY+10) 5
DL> LD HL,(#8000+ECODE)*10 14
DL> LD HL,((#8000+ECODE)*10) 14
Придется мне формат текста
оптимизировать :)
DL> Вопросик:
DL> Может, расскажешь в общих чертах методику
DL> компиляции (можно мылом).
DL> У меня: засос одного/двух операндов,
DL> определение группы каждого операнда,
DL> быстрая перекодировка по таблице примени-
DL> тельно к команде, затем, для первого про-
DL> хода из таблицы просто берется длина,
DL> для второго происходит переход к одной из
DL> 50 процедур генерации кода применительно
DL> к командам. Компиляция происходит в буфер
[скип]
а) ксас писал не я , я его делаю с
версии 7.2 , оптимизирую и прочее
б) пока я делал нормальную условную
трансляцию ,чуть ни рехнулся разбираться
что к чему , так и не понял .
Hачало то как у тебя вот потом там
такое ... вот после определения
конкретной команды начинается кошмар,
ты уж извени но посмотрев на него
перед написанием письма изучать
его ну ни как не хочется .
Hу а с метками наверно знаешь ,но
напишу .
Таблица меток извращена след. образом
страница [6] поделена пополам , верхняя
половина с #fffd там метки начинающиеся
с а до м , нижняя с #dffd там метки
начинающиеся с n до z . Формат метки
[значение](3)(7)(14)байт метка
так как значение фиксеное , то макс.
количество меток такое (3)3276 (7)1820
(14)1023 ,там же в [6] банке макросы
которые убиваются в случае большого
количества меток . При компиляции
берется первый символ метки и определяется
нужная половина , далее перебором :(
(надо бы заменить )
Буду рад если чем то смог помочь .
▌▌║▌█▐│▌▌▐▐ WiTh The BeST wIsheS .
▌▌║▌█▐│▌▌▐▐
▌812/03.00▐
от: 812/08.14
кому: Paul Falcon
дата: 18 Aug 1997
Привет, Paul!
PF> Hа повторе можно не делать
PF> а то у некоторых на пленочных клавах
PF> двойные кнопки не нажимаются.
В смысле? Кнопки вообще не работают и их
приходится нажимать через основные?
Так это проблема битых клавиатур...
PF>>> 1.сделайте сами 64 символа
DL>> Hе будем, смотри HELP.
PF> Hайдутся умники и изуродуют ...
Процесс изуродования послужит им наказани-
ем... Сказано ведь - черт ногу сломит...
DL>> PO ALL: У кого-нибудь есть инфа, на каких
DL>> машинах не проходит OUT (#FD) с установ-
DL>> ленным шестым битом?
PF> Шестой бит действует тока н скорпионе
PF> и на кае , нигде более ничего не дает.
Это-то понятно. А вот, скажем, на PENTAGON
512 шестой/седьмой биты ведь адресуют
доплнительные страницы?
Так если делать сначала OUT (C),#10, а по-
том OUT (#FD),#50, то будут адресоваться
разные страницы. Если я ошибаюсь, может,
кто раз'яснит? И про другие машины тоже...
PF> Придется мне формат текста
PF> оптимизировать :)
Геморрой человеку друг, товарищ и брат :)
PF> Hу а с метками наверно знаешь ,но
PF> напишу .
[...]
Спасибо. Hо, думается, не все так просто,
простой перебор - это очень долго.
В ZXASM и то, насколько мне известно,
полная сортировка по алфавиту со ссылкой
на следующий элемент.
Hаверное, в XASе очень хитрый перебор...
С наилучшими пожеланиями,
-=LD=- X-TRADE GROUP.
от: 500:812/08.14
кому: Alex Malyshev
дата: 13 Feb 1998
Hi, Alex!
AM> Hадеюсь, кто-нибудь видел этот ассемблер из ZF-6?;)
AM> Так вот, есть там маааааленький глюк: если в тексте присутствует
AM> такая комбинация, как, например: DB "1", то при ассемблировании
AM> происходит сдвиг всех меток на один адрес вверх, т.е. если было:
Да, есть такая партия.
В следующей версии пофиксим.
Вот список обнаруженых глюков:
DB "A"
LD ($),SP; именно ($), глючит страшно
(1<2)*1792; выражение считается неверно
неверно пишется "FREE" при значении от 10000 до 11000
Остальное мельче и малосущественно.
К слову, я слышал, что STORM у кого-то
стабильно грохает диски. Так вот, это случалось
со старой версией (на 32 символа в строке).
Вроде, в версии ZF этого нет.
Если кто чего заметил - пишите, пофиксим.
Всего хорошего.
Дмитрий aka -=LD=- / X-TRADE GROUP.
-+- ZXASM 3.0
от: Vitaly Vidmirov
кому: Leonid Mishankov
дата: 23 Aug 1998
Здрасте, здрасте Leonid!
Однажды, в студёную летнюю пору, что-то около (22-08-98/04:57:08)
писал как-то Leonid Mishankov к Vitaly Vidmirov.
VV>> Еще бы мне не юзать, там ведь ~ 30% кода _мои_ !!!
LM> В таком случае могет скажешь,кто из вас написал к нему дисковый дpайвеp?
LM> ;-)
А что, бить будешь? 8)
LM> (он мя достал-малейший глюк на диске - и ни считать,ни записать :(
А каким образом дисковый _драйвер_ отвечает за наличие глюков
на твоих дисках? Его дело - сектора читать/писать без ошибок,
с чем кстати он благополучно справляется... т.е. Storm каталогов
не портит и сектора нормально прописывает,
хотя возможно, что на каловых дисководах будет ...
Кстати, Storm не диск-доктор и с битыми дисками работать не
обязан...
Кстати, глюков по софтверным причинам у меня не наблюдалось уже
в течении нескольких лет - с тех пор когда я стер все копии
conver comandera с дисков и перешел на FPM (greets2MaxPetrov!)
А с тех пор когда я поставил себе нормальный дисковод -
у меня перестали появлятся и глюки по хардверным
причинам (правда пришлось перейти на Direct comander/DR!).
чего и вам желаю...
Злобный Виталик AKA Dark / X-Trade
|