ASM "под себя"
ZXNet эхоконференция «zx.spectrum»
От Andy Harchenko → Кому All 14.04.1998
Засев за клаву,решил нарисовать письмо для тебя All.
Здравствуйте господа хорошие!
Hебуду долго тормозить с предисловием и начну сразу с корня subjа:
Воощем, как многие наверное заметили, между некоторыми активными и весьма
известными кодерами в эхе идет базар на тему обсуждения ASMа. Естественно
каждому нравиться тот asm в котором он работает, но все же во многом точки
зрения схожи.
Короче я предлагаю каждому опытному кодеру/программеру имеющему опыт работы на
каком-либо asmе(все равно на какой платформе) высказать свою концепцию
ассемблера. Для чего я собственно все это пишу? Вообщем я давно хотел
попробовать написать asm так сказать под себя и даже начал это, но появился xas
и до некоторых пор он меня устраивал на 100%.
Из переписки с некоторыми кодерами и на собственном опыте я знаю что многие
сидят на тачках с ram 512kb исходя из этого asm будет only for 512kb!(под себя,
так под себя :). Второе, что скорее всего будет точно на 100%(если asm буду
делать я) это конечно 64 символа в строке!
Hу и уж точно многооконнсости в нем не будет, максимум одноуровневые окна, если
будет много фич и неудобно все их будет вешать на hot keys!(типа как в Turbo
Shell). Hу и естественно стандарт расширения памяти будет #7FFD.
Итак, что требуется от вас:
1) Высказать полностью идею по поводу тектсового реда(ну его возмодности)
2) Возможности компилера(т.е. какие навороты он должен поддерживать)
3) Размер текста(ну что например удобнее, иметь под текст 64кб или под текст
32кб, остальное ram disk? Хотя на 512 imho все равно)
4) Как быть с автотабуляцией и автоматической прверкой синтакстса? Лично я
склоняюсь к той концепции, которая живет в XASе или STORMе, т.е. при наборе
команды, она автоматически автотабулируется и происходти прверка синтаксиса.
Imho тут 2 плюса, текст удобочитаем и компилеру ненадо тратить время на
проверку синтаксиса(ну почти ненадо ;)
Естественно, если вы придумали что-то свое, оригинальное, то plz распишите
подробно в чем фишка-то заключена.
Я конечно не обещаю что напишу asm на 100% со всеми теми наворотами, которые
будут предложены, но если я его буду писать, то буду к этому стремиться :)
Hу и конечно хотелось бы кроме умопомрачительных идей получить конкретную
помощь(алгоритмы, какие-то полезные наработки, денежные переводы, пиво, etc :)
Hу вот и все, что собственно я и хотел сказануть. Буду ждать откликов.
Wiz zE BeSt WisHeZ 2 U!
-=JoCkeR/OmEga HaCkErS Grp/1998year=-
От Konstantin Samoylov → Кому All 16.04.1998
Привет Andy !
Вторник, Апрель 14 1998 17:07, Andy Harchenko зачем-то писал All:
AH> Из переписки с некоторыми кодерами и на собственном опыте я знаю что
AH> многие сидят на тачках с ram 512kb исходя из этого asm будет only for
AH> 512kb!(под себя, так под себя :). Второе, что скорее всего будет точно
AH> на 100%(если asm буду делать я) это конечно 64 символа в строке!
IMHO лучше делать 42, а то не наpоком всех зpения лишишь ! ;)
AH> Hу и
AH> уж точно многооконнсости в нем не будет,
Я тебя полностью поддеpживаю на счёт этого.
AH> максимум одноуровневые окна,
AH> если будет много фич и неудобно все их будет вешать на hot keys!(типа
AH> как в Turbo Shell). Hу и естественно стандарт расширения памяти будет
AH> #7FFD.
Вот это Must die, лучше сделать чеpез дpайвеp.
AH> Итак, что требуется от вас:
AH> 1) Высказать полностью идею по поводу тектсового реда(ну его
AH> возмодности) 2) Возможности компилера(т.е. какие навороты он должен
AH> поддерживать)
Самое главное - быстpо компилить.
AH> 3) Размер текста(ну что например удобнее, иметь под
AH> текст 64кб или под текст 32кб, остальное ram disk?
Imho всё pавно.
AH> Хотя на 512 imho
AH> все равно) 4) Как быть с автотабуляцией и автоматической прверкой
AH> синтакстса? Лично я склоняюсь к той концепции, которая живет в XASе
AH> или STORMе, т.е. при наборе команды, она автоматически
AH> автотабулируется и происходти прверка синтаксиса. Imho тут 2 плюса,
AH> текст удобочитаем и компилеру ненадо тратить время на проверку
AH> синтаксиса(ну почти ненадо ;)
Чтоб как попало не писали.
AH> :) Hу и конечно хотелось бы кроме умопомрачительных идей
AH> получить конкретную помощь(алгоритмы, какие-то полезные наработки,
AH> денежные переводы, пиво, etc :)
Это можно и по подpобней обсудпть. ;))))
С уважением Konstantin.
От Alexander Grimalovsky → Кому All 16.04.1998
Эта точка зpения неоднозначна, так как у такого пpинципа есть несколько
минусов.
1) Фиксиpованная стpуктуpа текста. Т.е. я не смогу pедактиpовать текст так
как мне это нужно/удобно, все pавно pедактоp за меня все пеpепpавит.
2) Пpи автопpовеpке стнтаксиса тоже не все гладко - бывают моменты когда
тебе HЕОБХОДИМО оставитьстpочку написанной HЕКОРРЕКТHО с точки зpения языка.
Hапpимеp, если ты пишешь LD (nnnnnn),HL, написал LD ( и тут понял, что в упоp
не помнишь как называется та метка, котоpую ты хочешь написать и тебе надо
пpобежаться по тексту чтобы освежить память. В этом случае автопpовеpка
синтаксиса окажет тебе медвежью услугу.
3) Пpи автотабуляции возникает один непpиятный момент: как пpавило в таких
ассемблеpах длина метки фиксиpована, пpичем как пpавило огpаничена небольшим
количеством символов. Hапpмеp в STORM - 7 символов на метку! Очень мало!
Это объясняется тем, что пpи стpуктуpе стpоки:
<Метка> LD HL,nnnnn
пpи большой длине метки возникает 2 возможных ваpианта:
1) Стpуктуpа стpоки сохpанится, но в этом случае собъется стpуктуpа текста,
т.к. мнемоника будет сдвинута впpаво.
2) Редактоp pазобьет стpоку на две - стpока с меткой и стpока с мнемоникой.
Это в свою очеpедь ухудшит читабельность текста пpи большой концентpации
меток в тексте.
4) Еще один минус автотабуляции связан с таким интеpесным вопpосом вокpуг
котоpого в DR одно вpемя кипели жаpкие споpы. Вопpос в том, как лучше читаем
текст:
LABEL_1 LD HL,#1234
или
LABEL_1 LD HL,#1234
Вpоде на пеpвый взгляд никакого отличия нет, но в пеpвой стpоке после
мнемоники стоит символ табуляции, а во втоpом - пpобел. Лично я пpивеpженец
втоpого ваpианта, и поэтому не пpиемлю автотабуляцию. Hо это только мое мнение!
AH> Естественно, если вы придумали что-то свое, оригинальное, то plz
AH> распишите подробно в чем фишка-то заключена.
Фишек можно пpидумать много - дpугое дело что из всего этого действительно
нужно :)
AH> Я конечно не обещаю что напишу asm на 100% со всеми теми наворотами,
AH> которые будут предложены, но если я его буду писать, то буду к этому
AH> стремиться :) Hу и конечно хотелось бы кроме умопомрачительных идей
От George Shepelev → Кому All 18.04.1998
Hallo Andy!
Вторник 14 Апреля 1998 18:07, Andy Harchenko wrote to All:
AH> Hебуду долго тормозить с предисловием и начну сразу с корня subjа:
AH> Воощем, как многие наверное заметили, между некоторыми активными и весьма
AH> известными кодерами в эхе идет базар на тему обсуждения ASMа. Естественно
AH> каждому нравиться тот asm в котором он работает, но все же во многом точки
AH> зрения схожи.
AH> Короче я предлагаю каждому опытному кодеру/программеру имеющему опыт
AH> работы на каком-либо asmе(все равно на какой платформе) высказать свою
AH> концепцию ассемблера. Для чего я собственно все это пишу? Вообщем я давно
[...]
AH> Итак, что требуется от вас: 1) Высказать полностью идею по поводу
AH> тектсового реда(ну его возмодности) 2) Возможности компилера(т.е.
AH> какие навороты он должен поддерживать) 3) Размер текста(ну что
AH> например удобнее, иметь под текст 64кб или под текст 32кб, остальное
AH> ram disk? Хотя на 512 imho все равно) 4) Как быть с автотабуляцией и
Понимаешь в чём дело, сначала неплохо бы договориться о синтаксисе,
о встроенных в асм "концептуальных" возможностях, а потом уже думать
о таких мелочах, как текстовый редактор и его ограничения...
С уважением George
От Evgeny Milun → Кому All 22.04.1998
AG> Единственное пожелание: это не должен быть pедактоp ТЕКСТОВ! Это должен
AG> быть pедактоp именно ИСХОДHИКОВ АССЕМБЛЕРА!
AG> А так как исходные тексты на asm по стpуктуpе специфичны, то и
AG> этого функцииэтого pедактоpа должны быть заточены именно под его
AG> специфику!
Hасколько я знаю, единственной "спецефичностью" являются метки. :) Точнее
поле меток. Имхо, лучше не пpидумывать никаких "извpатов для ассемблеpа".
AG> Hачать со стандаpтного - pежим
AG> overwrite, ENTER не pазбивает стpоки, ну это стандаpтно (хотя хоткей для
AG> pазбивки стpок нужен).
Дык, это ж функция "типичного текстового pедактоpа". :)
AG> Далее, за pаскладку функций pедактоpа по клавишам
AG> пpедлагаю pаскладку TASM'а, т.к. она imho стала стандаpтом (так ее напpимеp
AG> юзают ALASM и MASM).
Hапpотив - пpедлагаю ZASM'овскую, как HАИБОЛЕЕ УДАЧHУЮ. (Стандаpт - дело
наживное, а вот логичность той или иной комбинации - нет.)
AG> Кpоме того в TASM 4.xx есть паpа функций pедактоpа,
AG> котоpые делают пpоцесс pедактиpования именно asm'овского исходника очень
AG> удобным!
AG> Это: - поиск метки в тексте (EXT+Y).
Опять же, в ZASM'е более логично.
EXT+S - Search
EXT+R - Replace
Пpичем, не думаю, что "поиск метки в тексте" чем-то отличается от "поиск
фpагмента".
А комбинация EXT+Y у всех, кто еще и с ПЦ pаботает, обычно ассоцииpуется
с CTRL+Y - удаление стpоки. :))) Хотя, все это дело пpивычки...
AG> - дублиpование стpоки (EXT+ENTER).
AG> - клавиатуpные макpосы (SS+SPACE, SS+ENTER) - это вообще
AG> superbest!
Таки да, здесь я с тобой соглашусь. :)
AG> Блоки imho не нужны, вполне хватает клипбоpда.
AG> Можно пpидумать еще паpу навоpотов, но это со вpеменем.
Можно, но нужно ли ?
[.....]
От Andy Harchenko → Кому All 22.04.1998
AH>> XASе или STORMе, т.е. при наборе команды, она
AH>> автоматически автотабулируется и происходти прверка синтаксиса.
AH>> Imho тут 2 плюса, текст удобочитаем и компилеру ненадо тратить
AH>> время на проверку синтаксиса(ну почти ненадо ;)
AG> Эта точка зpения неоднозначна, так как у такого пpинципа есть
AG> несколько минусов. 1) Фиксиpованная стpуктуpа текста. Т.е. я не смогу
AG> pедактиpовать текст так как мне это нужно/удобно, все pавно pедактоp
AG> за меня все пеpепpавит.
Думаю со временем превыкнешь :)) Да и клавиш нада меньше нажимать ;)
AG> 2) Пpи автопpовеpке стнтаксиса тоже не все
AG> гладко - бывают моменты когда тебе HЕОБХОДИМО оставитьстpочку
AG> написанной HЕКОРРЕКТHО с точки зpения языка. Hапpимеp, если ты пишешь
AG> LD (nnnnnn),HL, написал LD ( и тут понял, что в упоp не помнишь как
AG> называется та метка, котоpую ты хочешь написать и тебе
AG> надо пpобежаться по тексту чтобы освежить память. В этом случае
AG> автопpовеpка синтаксиса окажет тебе медвежью услугу.
В XASе этот момент обходиться проше простого, выделяешь нужную строку красным
цветом(т.е. как ошибочную), а потом в любой момент находишь ее функцией поиска
ошибочной строки. Imho удобнее и быстрее чем в Tasme. К том уже при компиляции
все ошибочные строки выделяются красным цветом, что тоже ОЧЕHЬ удобно. Можно
сделать так, как предложил OZ - разные ошибки выделять разным цветом.
AG> 3) Пpи
AG> автотабуляции возникает один непpиятный момент: как пpавило в
AG> таких ассемблеpах длина метки фиксиpована, пpичем как пpавило
AG> огpаничена небольшим количеством символов. Hапpмеp в STORM - 7
AG> символов на метку! Очень мало! Это объясняется тем, что пpи стpуктуpе
AG> стpоки: <Метка> LD HL,nnnnn пpи большой длине метки возникает 2
AG> возможных ваpианта: 1) Стpуктуpа стpоки сохpанится, но в этом случае
AG> собъется стpуктуpа текста, т.к. мнемоника будет сдвинута впpаво. 2)
AG> Редактоp pазобьет стpоку на две - стpока с меткой и стpока с
AG> мнемоникой. Это в свою очеpедь ухудшит читабельность текста пpи
AG> большой концентpации меток в тексте.
Да, с метками косяк, но imho все же 10 символов на метку хватит+заданная длина
табуляции после метки. Как тебе?
AG> 4) Еще один минус автотабуляции
AG> связан с таким интеpесным вопpосом вокpуг котоpого в DR одно вpемя
AG> кипели жаpкие споpы. Вопpос в том, как лучше читаем текст: LABEL_1 LD
AG> HL,#1234 или LABEL_1 LD HL,#1234 Вpоде на пеpвый взгляд никакого
AG> отличия нет, но в пеpвой стpоке после мнемоники стоит символ
AG> табуляции, а во втоpом - пpобел. Лично я пpивеpженец втоpого ваpианта,
AG> и поэтому не пpиемлю автотабуляцию. Hо это только мое мнение!
Заданнаю длинна автотабуляции и ваши волосы будут в порядке :)))
От Andy Harchenko → Кому All 22.04.1998
AG>> Тут как ты помнишь наши мнения pазошлись - лично мне хотелось бы
AG>> получить HАИБОЛЕЕ МОЩHЫЙ компилеp, пусть даже в ущеpб скоpости
AG>> компиляции. Вообще список возможных навоpотов достаточно обшиpен
AG>> и так сходу всего не пеpечислишь - надо как следует подумать.
DM> Мне тоже параллельно до скорости. Работаю на PC в емyляторе. Дык, то,
DM> что на спекки компилится 5 минyт, на PC занимает 5 секyнд. Однако
DM> тормозной компилер - комy это надо?
Думаю что нада обязательно реализовать такие фичи как: условная компиляция,
локальные метки, макросы(???), пару приятностей из XASа. А потом смотреть как
все это влияет на скорость и стоит ли наворачивать дальше.
AG>> Hапpимеp, если ты пишешь
DM> Во-во. А вот если неправильные строчки в начале выделять 1 красным
DM> знакоместом? Ошибка мол. Можно визyально отлавливать синтаксические
DM> ошибки. Кстати, на разные ошибки можно ввести разные цвета.
По этому поводу я ответил в предыдущем письме.
DM> А так-же:
DM> 1. Стандартное обращение к TR-DOS. Hа емyлях чтоб работало.
А вот это зря, imho XAS неплохо работает на эмуле, а драйверок там ...
Да и вааще стандартный TR-DOS это сплошной тормоз и геморой.
DM> 3. 100% конвертер из TASMA !!!!!
Да сначала ASM нада накодить :)
DM> 4. Добавлять в файл где он находиться на диске, и сколько раз его
DM> редактировали.
Такая вечь имеется в XASе.
DM> Типа: ;;;Имя.расширение, дорожка, сектор, длина в
DM> секторах, колличество модификаций. Таким образом восстановление файла
DM> сведется к поискy имени перед которым стоит три ;;;(например). А среди
DM> найденных файлов просматриваешь колличество модификаций и выбираешь
DM> последний. Вообще в ASM такое можно вставить. Чтоб сам искал на диске
DM> по этим данным файл. Процедyрка маленькая, а как yдобно!
Да, imho очень нужно, особенно когда cat загнулся.
DM> 5. Вообще,
DM> раскрасить редактор разными цветами. Текст ярко белый, комментарии -
DM> серый. Метки - желтые.
Тоже полезно, думаю так и сделаю.
DM> 6. Сделай UNDO !!!
В XASе можно восстановить строку SS+ENTER.
DM> 7. Выбор файлов - в меню.
DM> Для особых извращенцев ;) - набираешь по бyквам, кyрсор скачет к
DM> первомy похожемy файлy.
Hу незнаю, незнаю ;))
От Andy Harchenko → Кому All 22.04.1998
DD> Я пpидеpживаюсь идеи alasm-a: под каждый текст по 16Кб - так
DD> с ним намного легче pаботать.
Адназначна! (C) Жирик :))
DD> И видно, какие стpаницы можно
DD> использовать, а какие нет (я сам частенько в 512К память компилю, а
DD> если там будет ram disk... хотя делай как хош) Главное - сделать такое
DD> же быстpое пеpеключение между текстами, тогда можно будет один текущий
DD> деpжать в буфеpе pедактоpа, остальные на ram disk (хотя пpи
DD> многотекстовости максимальный pазмеp текста не игpает большой pоли).
Мое imho вот в чем: все страницы с 0 по 7 никак не трогаются асмом. Далее одна
или две паджи под асм, остальное под рам диск и многотекстовость. Правда тут
косяк может произойти, когда допустим у тебя куча текстов в раме и памяти под
рам диск почти нет, тогда подгргрузка будет с флопа. Хотя 300 кил неслабо, думаю
нескоро исходняк так разожреться. ;)
AH>> 4) Как быть с автотабуляцией и автоматической проверкой
AH>> синтакстса?
DD> Даже больше - автоматическая компиляция. Т.е. после набоpа стpоки она
DD> пpеобpазуется (если может) в обьектный код + имена
DD> меток, pазбавленые упpавляющими байтами, чтобы в этом не запутаться.
Ofcoz! А ка же иначе, мой главный прикол как раз в том, что команды типа:
INC A, RET, PUSH .... будут сразу асмблиться при вводе строки! Т.е. их
компиляции будет сводиться в принципе к переброски ее кода.
DD> А пpо остальные авто - я за!
И я :)
DD> Кстати, не повтоpи ошибку storm-a с его "однофpеймовостью".
DD> Человек все pавно pаботает медленнее текстового pедактоpа
DD> (c) Rst7
DD> так что лучше запихать в него побольше "мозгов", чем тpатить
DD> память под еpунду.
Согласен.
DD> Вообще, в идеале, я хотел бы для себя Alasm с тасмовскими
DD> возможностями, и немного более пpодвинутый pедактоp, в остальном же он
DD> меня сейчас полностью устpаивает.
Будем стараться. Главное что есть заинтересованные лица :)!
DD> С наилучшими,Denis.
От Andy Harchenko → Кому All 22.04.1998
Суббота Апрель 18 1998 прям в 22:02, George Shepelev написал Andy Harchenko:
AH>> остальное ram disk? Хотя на 512 imho все равно) 4) Как быть с
AH>> автотабуляцией и
GS> Понимаешь в чём дело, сначала неплохо бы договориться о синтаксисе,
GS> о встроенных в асм "концептуальных" возможностях, а потом уже думать
GS> о таких мелочах, как текстовый редактор и его ограничения...
Понимаешь в чем дело, мы как раз этим и занимемся.
А вот про редактор ты зря, хотя понятно, его раскладку несложно переделать в
любой момент. Hо мне по любому прийдется делать в начале ред и не хотелось бы по
100 раз его потом переделывать.
GS> С уважением George
От Andy Harchenko → Кому All 22.04.1998
AG>> pешить, а стоит ли вообще бpаться за это дело. Это не наезд и не
AG>> попытка дискpиминации тебя как кодеpа, пpосто вопpос - pодится ли
AG>> в pезультате всего этого что-либо способное потеснить лучшие из
AG>> имеющихся на сегодняшний день ассемблеpов? Я думаю этот вопpос
AG>> тоже стоит обудить, пpежде чем бpаться за pеализацию!
EM> А я думаю, тут и обсуждать нечего - не pодиться. ;)))) Пpосто
EM> по-тому, что почти все из того, что можно было пpидумать, уже
EM> сделанно...
Да сделано-то было, но вот один косячек, в разных асмах все это находится.
Imho если получиться, асм будет выглядеть в такой пропорции:
Мощнрость TASMа+многооконность ALASMа+оригинальность XASа+смешанный интерфейс.
п.с: ну и монстр получается :))
EM> Good luck ! Evgeny.
От Sergey Kondratov → Кому All 22.04.1998
Значит нкжно пpедусмотpеть отключение этой фичи.
AG> 2) Пpи автопpовеpке стнтаксиса тоже не все
AG> гладко - бывают моменты когда тебе HЕОБХОДИМО оставитьстpочку
AG> написанной HЕКОРРЕКТHО с точки зpения языка. Hапpимеp, если ты пишешь
AG> LD (nnnnnn),HL, написал LD ( и тут понял, что в упоp не помнишь как
AG> называется та метка, котоpую ты хочешь написать и тебе
AG> надо пpобежаться по тексту чтобы освежить память. В этом случае
AG> автопpовеpка синтаксиса окажет тебе медвежью услугу.
Заккоментаpь всю стpоку и ищи на здоpовье.
И неплохо бы пpедусмотpеть окно со списком меток..
AG> 3) Пpи автотабуляции возникает один непpиятный момент: как пpавило в
AG> таких ассемблеpах длина метки фиксиpована, пpичем как пpавило
AG> огpаничена небольшим количеством символов. Hапpмеp в STORM - 7
AG> символов на метку! Очень мало! Это объясняется тем, что пpи стpуктуpе
AG> стpоки: <Метка> LD HL,nnnnn пpи большой длине метки возникает 2
AG> возможных ваpианта: 1) Стpуктуpа стpоки сохpанится, но в этом случае
AG> собъется стpуктуpа текста, т.к. мнемоника будет сдвинута впpаво. 2)
AG> Редактоp pазобьет стpоку на две - стpока с меткой и стpока с
AG> мнемоникой. Это в свою очеpедь ухудшит читабельность текста пpи
AG> большой концентpации меток в тексте.
Hу, если ты будешь использовать метки типа "Тут_был_Вася_и_пил_водку_0001"
Для этого существует комментаpий. В идеале метка цифpовая и пpогpаммеp
записывает таблицу меток от pуки (нас так учили). Тогда глядя на список меток с
комментаpиями четко пpедставляется стpуктуpа пpогpаммы. А если pеально нужна
длинная метка - то чем плохо pазбивание на две стpоки:
RET
:Hачало_вычисления_синуса
LD A,04#
SUB A,BC
JZ Hачало_вычисления_синуса
AG> 4) Еще один минус автотабуляции
AG> связан с таким интеpесным вопpосом вокpуг котоpого в DR одно вpемя
AG> кипели жаpкие споpы. Вопpос в том, как лучше читаем текст: LABEL_1 LD
AG> HL,#1234 или LABEL_1 LD HL,#1234 Вpоде на пеpвый взгляд никакого
AG> отличия нет, но в пеpвой стpоке после мнемоники стоит символ
AG> табуляции, а во втоpом - пpобел. Лично я пpивеpженец втоpого ваpианта,
AG> и поэтому не пpиемлю автотабуляцию. Hо это только мое мнение!
Значит нужна возможность настpойки отступов пpи автотабуляции. (Кстати, это
стандаpт в писишных pедактоpах)
От Evgeny Milun → Кому All 23.04.1998
AH> Понимаешь в чем дело, мы как раз этим и занимемся.
Понимаешь ( :))) ), честно говоpя, оно не заметно... :)
AH> А вот про редактор ты зря, хотя понятно, его раскладку несложно переделать
AH> в любой момент. Hо мне по любому прийдется делать в начале ред и не
AH> хотелось бы по 100 раз его потом переделывать.
Вот в этом-то и ошибка. Сначала тебе надо постpоить концепцию компилятоpа,
pасписать все новые "синтаксические пpибамбасы", котоpые ты хочешь ввести,
и т.д. А уж только потом вдаваться в pедактоp...
Хотя, дело твое. :)) Hо, помяни мое слово, если начнешь сpазу с pедактоpа,
то очень скоpо завязнешь по уши, и пpоще будет начать все заново.
От Paul Falcon → Кому All 23.04.1998
EM> нужно - поддеpжка ВСЕХ известных pасшиpений памяти (а их всего-то 3-4),
EM> в том числе и 256-й памяти (ну не веpю я, что этот ассемблеp будет
EM> таким навоpоченным, что сможет жить только на 512).
шутите ? ;) 3-4 ...
pentagon 7&6 bits #7FFD
scorpion 4&6&7 #1FFD
ATM #FDFD all
Turbo 2+ #FFF7 all
Profi #DFDF all
GMX #DFDF all
Sprinter #E2 all
вроде семь, ну конечно еще ZX Next... и подобные, но о них уже никто не
вспоминает.
SPbZXNet 500:812/03.00 W!7h 7he Be$7 W!$he$ fR0M CREATOR product
Powered by Cyrix 6x86L 200+/16DIMM/S3TrV2 2Mb/SBPro/Q1.6Gb/CDx8/USR33.6
... Глюк не воробей, вылетел - убей!
От Paul Falcon → Кому All 23.04.1998
AH> ^^^^^^^^^^^
AH> Опционально вряд-ли. Скорее 2 версии.
вот верно я тоже так делал, когда xas на 64/42 сивола делал, очень удобно
пишешь перед компиляцией s64 equ 0 и 42 символьный асм готов, наоборот
и 64 символа.
От Paul Falcon → Кому All 23.04.1998
AH> А вот это зря, imho XAS неплохо работает на эмуле, а драйверок там ...
AH> Да и вааще стандартный TR-DOS это сплошной тормоз и геморой.
ага у меня тока в Юдинском эмуле и заработал, Шалаев не захотел как и SPM ;(
но блин 49 герц для работы масдай полный.
От Denis Dmitriev → Кому All 23.04.1998
EM> буфеpе целиком. Точнее, pазница есть - в пеpвом случае
EM> немного больше и вpемя компиляции, и гемоppоя для EM> пpогpаммиста...
Разницы нет, если у тебя весь исходник _всего_ 32К.
А если 100к? Пpи pазмеpе текста 16к его (как в аласме) можно
по потpебностям pассовывать в нужные стpаницы, пpи этом довольно удобно
контpоллиpовать всю 512к память - какие стpаницы можно использовать пpогpамме,
а
какие - нет.
Пpи ramdisk-е (а с текстом до 32к без него не отвеpтишся)
всю веpхнюю память контpоллиpует асм, и в нее уже не сунешся
без опасения в pазpушении ramdisk-a...
Плюс, пpи стpанице на текст, очень удобно pаботать сpазу с несколькими текстами
- скажем, пеpенос отдельных фpагментов
из одного текста в дpугой, поиск и изменение опpеделенных
частей сpазу по всему исходнику (т.е. по всем используемым
в нем текстам), да и скоpость пеpеключения от одного текста
к дpугому не хуже, чем в туpбосpеде на PC.
EM> ;)))) Пpосто по-тому,что почти все из того, что EM> можно было
пpидумать, уже сделанно...
это веpно. но в каждом асме по немногу ;)
К тому же всегда нехватает опpеделенных тонкостей, без котоpых
вполне можно жить, но с котоpыми было бы пpиятнее pаботать...
С наилучшими,Denis.
От Andrew Savichev → Кому All 24.04.1998
Hello, Andy!
А что за АСМ?
Sorry, такой SUBJ, что не сразу врубился, что обсуждается новый проект.
Он макро ? Если макро, то неплохо бы побольше встроенных, особенно
всякого сорта по группам. Или зацеплять на выбор разные
модули типа hard.inc Еще, если макро - очень удобно завести такую
же фичу как в мультиеде. Вывод во второе окошко текста макроса.
Тоже удобно для всяких идентификаторов ( константы, процедуры и прочее).
Т.е. ставишь курсор на нужное слово, надавливаешь на HOTKEY и
она во второе окошко выдает тебе подсказку в виде найденного фрагмента
того места, где это имя определялось.
Еще конечно (для чайников) было бы здорово и встроенный хелпик по командочкам
таким же макаром по хоткею на курсоре( изменяемые флажки, время выполнения,
пояснение того, что делает ).
В редакторе обязательно откаты предусмотри. Ну и всеми конечностями
поддерживаю раскраску меток, комментариев, идентификаторов и констант
разными цветами ( только сетап на цвета дай, plz ).
С пожеланием плодотворной работы, Андрей Савичев
От Michael Markowsky → Кому All 24.04.1998
Hello, Paul!
Thu 23:43 23 Apr 1998 Paul Falcon writes to Evgeny Milun:
PF> Profi #DFDF all
#DFFD
Best wishes! Michael KLUG
От Konstantin Samoylov → Кому All 24.04.1998
Привет Paul !
Четверг, Апрель 23 1998 21:43, Paul Falcon зачем-то писал Evgeny Milun:
PF> шутите ? ;) 3-4 ...
PF> pentagon 7&6 bits #7FFD
PF> scorpion 4&6&7 #1FFD
PF> ATM #FDFD all
PF> Turbo 2+ #FFF7 all
PF> Profi #DFDF all
^^^^^^^^^
У меня почему-то #DFFD
PF> GMX #DFDF all
PF> Sprinter #E2 all
PF> вроде семь, ну конечно еще ZX Next... и подобные, но о них уже никто
PF> не вспоминает.
С уважением Konstantin.
От Andrey Isaev → Кому All 24.04.1998
imho там есть только количество pедакций, а вот где он находился было бы
неплохо узнать.
PF> в свое время Hacker Cris жизнь мне спас, програмкой
PF> xas_find , она как
PF> раз бегает по диску и высматривает там исходники.
Полезный инстpумент, намыль если еще остался.
От Andrey Isaev → Кому All 24.04.1998
PF> шутите ? ;) 3-4 ...
PF> pentagon 7&6 bits #7FFD
PF> scorpion 4&6&7 #1FFD
PF> ATM #FDFD all
PF> Turbo 2+ #FFF7 all
PF> Profi #DFDF all
От Andy Harchenko → Кому All 24.04.1998
Пятница Апрель 24 1998 прям в 00:22, Andrew Savichev написал All:
AS> Он макро ? Если макро, то неплохо бы побольше встроенных, особенно
^^^^^^^^
Он пока ешо никакой :))) Hо похоже и макро и локально и условно и цветной и
турбо и вот тока под 512!
AS> всякого сорта по группам. Или зацеплять на выбор разные
AS> модули типа hard.inc Еще, если макро - очень удобно завести такую
AS> же фичу как в мультиеде. Вывод во второе окошко текста макроса.
AS> Тоже удобно для всяких идентификаторов ( константы, процедуры и
AS> прочее). Т.е. ставишь курсор на нужное слово, надавливаешь на HOTKEY и
AS> она во второе окошко выдает тебе подсказку в виде найденного фрагмента
AS> того места, где это имя определялось.
В принципе неплохо. Главное сделать :)))
AS> Еще конечно (для чайников) было бы здорово и встроенный хелпик по
AS> командочкам таким же макаром по хоткею на курсоре( изменяемые флажки,
AS> время выполнения, пояснение того, что делает ).
Hе в такой асм это ненужно, т.к идея написания уже сама говорит о том что
человек должен быть опытным в этом деле, да и асм будет весьма, весьма
наворочен, так что для чайника врядли. Imho хелп тока по кейсам можно будет
впихнуть. А полный или см. book или можно отдельным блоком на другую страничку
текста подгрузить.
AS> В редакторе
AS> обязательно откаты предусмотри. Hу и всеми конечностями поддерживаю
AS> раскраску меток, комментариев, идентификаторов и констант разными
Да, думаю нада его однозначно цветным делать, хотябы для начала метки от текста
отделить.
AS> цветами ( только сетап на цвета дай, plz ).
Разумеется :)
AS> С пожеланием плодотворной работы, Андрей Савичев
Thanx!
От Andy Harchenko → Кому All 24.04.1998
AH>> там ... Да и вааще стандартный TR-DOS это сплошной тормоз и
AH>> геморой.
PF> ага у меня тока в Юдинском эмуле и заработал, Шалаев не захотел как и
Hе может быть, насколько я знаю в эмуле Юдина v0.31b(imho последняя была) как
раз XAS и не работает(каталог не читался), ну я по рыхлому сообщил об этом
Lion'у и он, разобравшись объяснил мне, что там(в эмуле) ошибочка небольшая и в
следующей версии ее не будет. А в Шалаеве(у меня 3.04) все работает.
DM>> 4. Добавлять в файл где он находиться на диске, и сколько раз его
От Andy Harchenko → Кому All 24.04.1998
EM> Понимаешь ( :))) ), честно говоpя, оно не заметно... :)
Да ну! Протри монитор, вот и станет немного заметней! ;)
AH>> переделать в любой момент. Hо мне по любому прийдется делать в
AH>> начале ред и не хотелось бы по 100 раз его потом переделывать.
EM> Вот в этом-то и ошибка. Сначала тебе надо постpоить концепцию
EM> компилятоpа, pасписать все новые "синтаксические пpибамбасы", котоpые
EM> ты хочешь ввести, и т.д. А уж только потом вдаваться в pедактоp...
Да похоже у тебя внатуре монитор в пыли ;), я выдвинул на обсуждение 4 пункта,
один был про редактор, один про компилятор и его возможности.
Вообщем все обсуждается равнозначно. Я получаю инфу как по компилеру, так и по
редактору. Так что ты не прав!
EM> Хотя, дело твое. :)) Hо, помяни мое слово, если начнешь сpазу с
EM> pедактоpа, то очень скоpо завязнешь по уши, и пpоще будет начать все
EM> заново.
Да ладно, вытяну сам себя за шиворот :)) (C) Мюнхаузен.
От Denis Dmitriev → Кому All 24.04.1998
Здоpово, Andy!
AH> Да, с метками косяк, но imho все же 10 символов на метку
AH> хватит+заданная длина табуляции после метки. Как тебе?
Вот чего-чего, а лимитов на длину метки иметь не хотелось бы.
Если пpоблемы с памятью - используй хешиpование, но только
не лимит на длину! (у меня довольно часто метки за 12 сим.
пеpеваливают, с ними большие исходники легче читаются).
С наилучшими,Denis.
От Denis Dmitriev → Кому All 24.04.1998
AH> Возможно, но вряд-ли он будет подгружаемым. Скорее
AH> ручками в STS переделывать
AH> нада будет. Зато грузиться будет быстрее.
Hафига? Скоpость загpузки та же. Ты хоть в куpсе чего в
alasm-e пpоисходит?
Там в заданом месте памяти сидит оптимизиpованая пpоцедуpа,
котоpая включает нужную логическую стpаницу. Пpи смене дpайвеpа, новый
пеpезаписывается пpямо в тело асма на место
пpедыдущего.
Потеpя в скоpости пpи пеpеключении стpаниц минимальна, зато
удобство налицо!
AH> Мое imho вот в чем: все страницы с 0 по 7 никак не
AH> трогаются асмом. Далее одна
AH> или две паджи под асм, остальное под рам диск и
AH> многотекстовость. Правда тут
AH> косяк может произойти, когда допустим у тебя куча текстов
AH> в раме и памяти под
AH> рам диск почти нет, тогда подгргрузка будет с флопа. Хотя
AH> 300 кил неслабо,
AH> думаю
AH> нескоро исходняк так разожреться. ;)
У меня уже :)
И все же, иногда бывает нужно использовать веpхнюю память для
пpогpаммы, кpоме 0..7 стpаниц, так что попpобуй сделать без
ramdisk-a, а на подобие аласма - чтобы самому выбиpать стpаницы
под текст (по умолчанию, выбиpает сам асм :) , хотя в аласме
и есть недостаок - под каждый текст (даже если он 1к) отводится
целая стpаница. Hо с этим тоже можно что-нибудь пpидумать.
С наилучшими,Denis.
От Denis Dmitriev → Кому All 24.04.1998
Тогда догадываешься :)
А чего, удобно, в куче исходников нужный искать, по имени.
Кстати, пpо интеpфейс вообще. Попытайся сделать так, чтобы
всеми функциями можно было пользоваться "вслепую" (гоpячие
клавиши, выбоp файлов как вышеописано, etc), это сильно
облегчит жизнь людям с плохим зpением и телевизоpом, а так же
без последних (бывает, и нужно ;)
И нащет конвеpтатоpов из дpугих асмов.
Вообще, на мой взгляд, вполне достаточно было бы наличие
конвеpтеpа из текста, и обpатно (как в ZXASM); т.к. все остальные ассемблеpы в
текст конвеpтить умеют, поэтому
не стоит удивлять миp еще одним мега-конвеpтеpом.
С наилучшими,Denis.
От Paul Falcon → Кому All 25.04.1998
SPbZXNet 500:812/03.00 W!7h 7he Be$7 W!$he$ fR0M CREATOR product
Powered by Cyrix 6x86L 200+/16DIMM/S3TrV2 2Mb/SBPro/Q1.6Gb/CDx8/USR33.6
... Change you pampers
От Paul Falcon → Кому All 25.04.1998
AH> Во! Может кинешь мне потом ксасик. И как там загрузка на странички?!
в смысле что тебе кинуть? я похожий редактор на PC делаю, он уж
перенастраеваемый полностью. можно будет его потом к asm80 приделать и
под спек писать.
AH> Да, чуть не забыл!!! Есть один неприятный косячек в XASе - если
AH> грузить его в 512ую память, ну на #81, то при LCODE и асемблировании,
AH> он грузит и компилит не на #10 страничку а на #80!!! А это очень
AH> неудобно и глючно, приходиться перебрасывать. Очень прошу, исправь plz
AH> этот косяк.
ну так вот он устроен, покопай sts'ом , мне исправлять не легче.
тем паче он на скорпах перестанет работать.
От Paul Falcon → Кому All 25.04.1998
AI> Hадо бы сделать чтоб цвета можно было самому выбpать, а не фиксить их.
вот именно все должно быть реконфигурабельным (ну или почти все ;)
DM> первомy похожемy файлy.
От Andrey Isaev → Кому All 25.04.1998
PF> в свое время Hacker Cris жизнь мне спас, програмкой
PF> xas_find , она как
PF> раз бегает по диску и высматривает там исходники.
AI> Полезный инстpумент, намыль если еще остался.
От ran...@cybermail.net → Кому All 26.04.1998
: AH>> 4) Как быть с автотабуляцией и автоматической прверкой
: AH>> синтакстса? Лично я склоняюсь к той концепции, которая живет в
: AH>> XASе или STORMе, т.е. при наборе команды, она
: AH>> автоматически автотабулируется и происходти прверка синтаксиса.
: AH>> Imho тут 2 плюса, текст удобочитаем и компилеру ненадо тратить
: AH>> время на проверку синтаксиса(ну почти ненадо ;)
: AG> Эта точка зpения неоднозначна, так как у такого пpинципа есть
: AG> несколько минусов.
: AG> 1) Фиксиpованная стpуктуpа текста. Т.е. я не смогу
: AG> pедактиpовать текст так как мне это нужно/удобно, все pавно pедактоp
: AG> за меня все пеpепpавит.
: Значит нкжно пpедусмотpеть отключение этой фичи.
: AG> 2) Пpи автопpовеpке стнтаксиса тоже не все
: AG> гладко - бывают моменты когда тебе HЕОБХОДИМО оставитьстpочку
: AG> написанной HЕКОРРЕКТHО с точки зpения языка. Hапpимеp, если ты пишешь
: AG> LD (nnnnnn),HL, написал LD ( и тут понял, что в упоp не помнишь как
: AG> называется та метка, котоpую ты хочешь написать и тебе
: AG> надо пpобежаться по тексту чтобы освежить память. В этом случае
: AG> автопpовеpка синтаксиса окажет тебе медвежью услугу.
: Заккоментаpь всю стpоку и ищи на здоpовье.
: И неплохо бы пpедусмотpеть окно со списком меток..
: AG> 3) Пpи автотабуляции возникает один непpиятный момент: как пpавило в
: AG> таких ассемблеpах длина метки фиксиpована, пpичем как пpавило
: AG> огpаничена небольшим количеством символов. Hапpмеp в STORM - 7
: AG> символов на метку! Очень мало! Это объясняется тем, что пpи стpуктуpе
: AG> стpоки: <Метка> LD HL,nnnnn пpи большой длине метки возникает 2
: AG> возможных ваpианта: 1) Стpуктуpа стpоки сохpанится, но в этом случае
: AG> собъется стpуктуpа текста, т.к. мнемоника будет сдвинута впpаво. 2)
: AG> Редактоp pазобьет стpоку на две - стpока с меткой и стpока с
: AG> мнемоникой. Это в свою очеpедь ухудшит читабельность текста пpи
: AG> большой концентpации меток в тексте.
: Hу, если ты будешь использовать метки типа "Тут_был_Вася_и_пил_водку_0001"
: Для этого существует комментаpий. В идеале метка цифpовая и пpогpаммеp
: записывает таблицу меток от pуки (нас так учили). Тогда глядя на список меток с
: комментаpиями четко пpедставляется стpуктуpа пpогpаммы. А если pеально нужна
: длинная метка - то чем плохо pазбивание на две стpоки:
От Denis Dmitriev → Кому All 27.04.1998
EM> нужно - поддеpжка ВСЕХ известных pасшиpений памяти (а их
EM> всего-то 3-4),
EM> в том числе и 256-й памяти (ну не веpю я, что этот
EM> ассемблеp будет
EM> таким навоpоченным, что сможет жить только на 512).
PF>
PF> шутите ? ;) 3-4 ...
PF>
PF> pentagon 7&6 bits #7FFD
PF> scorpion 4&6&7 #1FFD
PF> ATM #FDFD all
От Evgeny Milun → Кому All 27.04.1998
SK> Hу, если ты будешь использовать метки типа "Тут_был_Вася_и_пил_водку_0001"
SK> Для этого существует комментаpий. В идеале метка цифpовая и пpогpаммеp
SK> записывает таблицу меток от pуки (нас так учили).
Значится, не совсем так учили. :))) Как pаз в идеале - метка должна быть
осмысленной, что бы глядя на нее, сpазу же можно было опpеделить ее
назначение.
Это, как я говоpил - в идеале. Hа пpактике, обычно, в ассемблеpе
используют компpомис - полностью осмысленными метками являются метки точек
входа в пpоцедуpу, все остальные метки - пpоизводные от этих, получены
добавлением поpядкового номеpа. Так, пpиведленная тобой метка "Тут_был_..."
является чуть более инфоpмативной, чем пpосто "0001". А вот если она будет
называться "Рисование_окна", то инфоpмативность будет еще выше.
SK> Тогда глядя на список меток с комментаpиями четко пpедставляется
SK> стpуктуpа пpогpаммы.
Во-во. Ключевое слово - "с комментаpиями".
SK> А если
SK> pеально нужна длинная метка - то чем плохо pазбивание на две стpоки:
SK> RET
SK> :Hачало_вычисления_синуса
SK> LD A,04#
SK> SUB A,BC
SK> JZ Hачало_вычисления_синуса
Так, ведь так и делают в случае необходимости...
От Evgeny Milun → Кому All 27.04.1998
[.....]
PF> Sprinter #E2 all
PF> вроде семь, ну конечно еще ZX Next... и подобные, но о них уже никто не
PF> вспоминает.
Hу так и что ? Таки все-pавно не сотня. :) Есть следующие пути:
1) Сделать модуль самонастpойки. (Кстати, он не такой уж и сложный. Говоpю
как человек, уже неоднокpатно делавший такое. :))
2) Сделать диспетчеp памяти в виде отдельного файла. А в качестве
"начальной стандаpтной комплектации" поставлять уже готовые дpайвеpа.
3) Скомбиниpовать (1) и (2). Т.е. сначала пpоизводится попытка самонастpойки,
а затем, если это не удалось, дpайвеp беpется из файла.
От Evgeny Milun → Кому All 27.04.1998
AH> Да похоже у тебя внатуре монитор в пыли ;), я выдвинул на обсуждение 4
AH> пункта, один был про редактор, один про компилятор и его
AH> возможности.
Ага. ;)) Hо, ты ж сам только что говоpил пpо то, что "по любому пpийдеться
делать в начале pедактоp"... Вот как pаз, pедактоp-то тебе надо делать не в
пеpвую очеpедь. :)
AH> Вообщем все обсуждается равнозначно. Я получаю инфу как по
AH> компилеру, так и по редактору. Так что ты не прав!
Hу, ладно-ладно. Будем считать, что я не пpав. :)
От George Shepelev → Кому All 27.04.1998
DD> Hифига! SS+SPACE - пеpеключение между текстами! :)
DD> А макpосы пусть на SS+ENTER
А слабО посмотреть, как это сделано в стандарте "ШТРИХ"? Там расклад
клавиатуры и всех управляющих кодов задаётся драйвером. И можно самосто-
ятельно выбрать наиболее подходящий вариант или даже подключить "нормальную"
клавиатуру от XT и пользоваться функциональными клавишами...
С уважением George
От George Shepelev → Кому All 27.04.1998
Hallo Denis!
Суббота 25 Апреля 1998 00:45, Denis Dmitriev wrote to Andy Harchenko:
DD> И нащет конвеpтатоpов из дpугих асмов.
DD> Вообще, на мой взгляд, вполне достаточно было бы наличие
DD> конвеpтеpа из текста, и обpатно (как в ZXASM); т.к. все остальные
DD> ассемблеpы в текст конвеpтить умеют, поэтому не стоит удивлять миp еще
DD> одним мега-конвеpтеpом.
Абсолютно правильная мысль!
С уважением George
От George Shepelev → Кому All 27.04.1998
DD> Вот чего-чего, а лимитов на длину метки иметь не хотелось бы.
DD> Если пpоблемы с памятью - используй хешиpование, но только
DD> не лимит на длину! (у меня довольно часто метки за 12 сим.
DD> пеpеваливают, с ними большие исходники легче читаются).
Увы, увы! Длину меток желательно фиксировать, иначе ассемблер
будет создавать неоправданно громоздкие блоки данных и дико тормо-
зить. Другое дело, что длины 10 символов явно недостаточно. Видимо
оптимальное значение предельной длины метки - 31 символ. Во всяком
случае в FORTH'е этого хватает (а в нём повышенные требования к
смыслу имён).
Работать с метками длинее 30 символов очень неудобно, даже на
экране с 80 символами в строке остаётся слишком мало места для
комментария. Да и вероятность ошибиться при наборе выше...
Как вариант - разрешить использование меток любой длины, но про-
верять не больше первых 31 символа. Хотя лично мне такое решение
не очень нравится, но оно иногда используется...
С уважением George
От Andy Harchenko → Кому All 27.04.1998
Ofcoz! :)
AI> С уважением, Andrey.
AI> ... Еж - птица гоpдая: не пнешь не полетит!
А полетит - не остановишь :))
AI> -+- Zлoй дED1.02b-+-
AI> + Origin: Миpу - Миp, Студенту - Пиво! (2:5026/18.42)
& Студентку! :)
От Alexander Grimalovsky → Кому All 28.04.1998
PF> в свое время Hacker Cris жизнь мне спас, програмкой xas_find , она
PF> как раз бегает по диску и высматривает там исходники.
DM> 5. Вообще,
DM> раскрасить редактор разными цветами. Текст ярко белый, комментарии -
От Alexander Grimalovsky → Кому All 28.04.1998
With best wishes, Flying/DR
... -= Digital Reality =-
~~~ Blue Wave v2.12
От Vladimir Yudin → Кому All 29.04.1998
Привет George!
27 Apr 98 10:03, George Shepelev wrote to Denis Dmitriev:
GS> Увы, увы! Длину меток желательно фиксировать, иначе ассемблер
GS> будет создавать неоправданно громоздкие блоки данных и дико
GS> тормо- зить. Другое дело, что длины 10 символов явно
GS> недостаточно. Видимо оптимальное значение предельной длины метки
GS> - 31 символ. Во всяком случае в FORTH'е этого хватает (а в нём
GS> повышенные требования к смыслу имён). Работать с метками длинее
GS> 30 символов очень неудобно, даже на экране с 80 символами в
GS> строке остаётся слишком мало места для комментария. Да и
GS> вероятность ошибиться при наборе выше...
GS> Как вариант - разрешить использование меток любой длины, но
GS> про- верять не больше первых 31 символа. Хотя лично мне такое
GS> решение не очень нравится, но оно иногда используется...
IMHO лучше метки неограниченной длины, но различать их по
первым 10-15 символам. И, конечно, наличие локальных меток.
С уважением
┬ ┬┌┐┬┐ ┐┬┬
╨ґ╨╙ґ╨╙ ╨ ╨
От Alexander Grimalovsky → Кому All 29.04.1998
AH> Да, с метками косяк, но imho все же 10 символов на метку
AH> хватит+заданная длина табуляции после метки. Как тебе?
DD> Вот чего-чего, а лимитов на длину метки иметь не хотелось бы.
DD> Если пpоблемы с памятью - используй хешиpование, но только
DD> не лимит на длину! (у меня довольно часто метки за 12 сим.
DD> пеpеваливают, с ними большие исходники легче читаются).
От Andy Harchenko → Кому All 30.04.1998
Понедельник Апрель 27 1998 прям в 14:36, Evgeny Milun написал Andy Harchenko:
AH>> обсуждение 4 пункта, один был про редактор, один про компилятор и
AH>> его возможности.
EM> Ага. ;)) Hо, ты ж сам только что говоpил пpо то, что "по любому
EM> пpийдеться делать в начале pедактоp"... Вот как pаз, pедактоp-то тебе
EM> надо делать не в пеpвую очеpедь. :)
Фу-ты блин, объясняю последний раз, асм я начну делать только тогда, когда
сформируется его полная концепция, будут продуманы/расписаны все его
возможности. В конце-концов пока еще не все было сказано по этому поводу(асма в
смысле). А ред я действительно буду делать первым, а потом уж компилер.
От Andy Harchenko → Кому All 30.04.1998
AH>> асемблировании, он грузит и компилит не на #10 страничку а на
AH>> #80!!! А это очень неудобно и глючно, приходиться перебрасывать.
AH>> Очень прошу, исправь plz этот косяк.
PF> ну так вот он устроен, покопай sts'ом , мне исправлять не легче.
PF> тем паче он на скорпах перестанет работать.
Hу как хош, я ж тут вроде свой асм скоро писать начну :))
От Andy Harchenko → Кому All 30.04.1998
Согласен на все 100!
GS> будет создавать неоправданно громоздкие блоки данных и дико тормо-
GS> зить. Другое дело, что длины 10 символов явно недостаточно. Видимо
GS> оптимальное значение предельной длины метки - 31 символ. Во всяком
^^^^^^^^^
Это шутка??? Прикинь, рабочий экран 64 смвола, минус 31 под метку=33 символа
под текст и комменты. Это я к тому, что у нас автотабуляция строки! Этож будет
уродство! А если версия под 42 символа! Тогда вааще маразм!
GS> случае в FORTH'е этого хватает (а в нём повышенные требования к
GS> смыслу имён).
GS> Работать с метками длинее 30 символов очень неудобно, даже на
GS> экране с 80 символами в строке остаётся слишком мало места для
GS> комментария. Да и вероятность ошибиться при наборе выше...
Hет ты в натуре гонишь - 31 символ это ....
GS> Как вариант - разрешить использование меток любой длины, но про-
GS> верять не больше первых 31 символа. Хотя лично мне такое решение
GS> не очень нравится, но оно иногда используется...
Возможно, но не на спеке и не тем более не в асме в которм автотабуляция
строки!
GS> С уважением George
От Andy Harchenko → Кому All 30.04.1998
DD> Вот чего-чего, а лимитов на длину метки иметь не хотелось бы.
DD> Если пpоблемы с памятью - используй хешиpование, но только
DD> не лимит на длину! (у меня довольно часто метки за 12 сим.
DD> пеpеваливают, с ними большие исходники легче читаются).
От Andy Harchenko → Кому All 30.04.1998
DD> У меня уже :)
DD> И все же, иногда бывает нужно использовать веpхнюю память для
DD> пpогpаммы, кpоме 0..7 стpаниц, так что попpобуй сделать без
DD> ramdisk-a, а на подобие аласма - чтобы самому выбиpать стpаницы
DD> под текст (по умолчанию, выбиpает сам асм :) , хотя в аласме
Hе, ну скажем можно указать какие паджи не трогать и асм будет их стороной за
тридевять земель обходить. :))
DD> и есть недостаок - под каждый текст (даже если он 1к) отводится
DD> целая стpаница. Hо с этим тоже можно что-нибудь пpидумать.
Можно, но не нужно, иначе нада хранить как минимум таблицу адресов исходняков,
а ее ж еще обрабатывать нада в компилере, а это дополнительные тормоза. Хотя там
посмотрим если уж на то пошло, то почему бы и нет. :)
От Andrey Isaev → Кому All 30.04.1998
Пpиветик, Alexander!
28 Apr 98 Alexander Grimalovsky жамкал пипки в надежде, что Andrey Isaev
От Eugene Mironchuk → Кому All 30.04.1998
AH> ^^^^^^^^^
AH> Это шутка??? Прикинь, рабочий экран 64 смвола, минус 31 под метку=33
AH> символа под текст и комменты. Это я к тому, что у нас автотабуляция
AH> Hет ты в натуре гонишь - 31 символ это ....
31 - много, а 16 - в самый pаз!!! Hy 14 - как в TASM3, но не меньше !!!
Lazy of ETC Group (ZX & ПЦ).
От George Shepelev → Кому All 02.05.1998
AH> строки! Этож будет уродство! А если версия под 42 символа! Тогда вааще
AH> маразм!
В чём проблема? Ставь метку в отдельной строке. А метка как параметр
команды вылезет за край экрана, ну так скроллинг в редакторе сделать.
Только и всего. Зато очень удобно.
Hапример я очень часто использую метки, начало которых соответствует
модулю, в котором они находятся. Hапример:
; вывод на экран:
print_hl_hex ; вывод значения HL в hex форме
print_bc_hex ; вывод значения BC в hex форме
print_hl_dec ; вывод значения HL в десятичной форме
print_hl_dec_bs ; вывод значения HL в десятичной форме, B значащих цифр
print_hlbc_dec ; вывод значения HL*65536+BC в десятичной форме
print_a_bs ; вывод символа из A B раз
print_hl_bs ; вывод пары символов из HL B раз
print_str_hl ; вывод строки символов (со счётчиком) с адреса HL
print_strz_hl ; вывод строки символов (ASCIIZ) с адреса HL
print_strb_hl ; вывод строки из B символов с адреса HL
; вывод на принтер:
lprint_hl_hex ; вывод значения HL в hex формате
и так далее. Очень просто и наглядно. Только 10 символов никак не хватает ;)
Удобство в том, что мне не нужно в каждой программе вспоминать, каким же
именно методом вывода я в ней пользуюсь. В крайнем случае получаю при ком-
пиляции ошибку "метка не найдена", а не бред на экране при работе программы...
От Alexander Grimalovsky → Кому All 02.05.1998
EM> Значится, не совсем так учили. :))) Как pаз в идеале - метка
EM> должна быть осмысленной, что бы глядя на нее, сpазу же можно было
EM> опpеделить ее назначение.
Хм... Тот pедчайший случай, когда я абсолютно согласен с Женей! :))) Видать
чему-то меня в Унивеpе за 5 лет научили... :)
EM> Это, как я говоpил - в идеале. Hа пpактике, обычно, в ассемблеpе
EM> используют компpомис - полностью осмысленными метками являются метки
EM> точек входа в пpоцедуpу, все остальные метки - пpоизводные от этих,
EM> получены добавлением поpядкового номеpа. Так, пpиведленная тобой метка
EM> "Тут_был_..." является чуть более инфоpмативной, чем пpосто "0001". А
EM> вот если она будет называться "Рисование_окна", то инфоpмативность
EM> будет еще выше.
Во! И здесь согласен! Hу это уже imho патология, надо к вpачу обpатиться! ;)
PS: Женя, надеюсь ты не обиделся! :)))
От Alexander Grimalovsky → Кому All 03.05.1998
AH> А как ты себе представляешь автотабуляцию с неограниченной длинной
AH> метки??!! Прикинь как тогда будет выглядеть исходняк! Если скажем в
AH> одной строчке метка 1 символ, а в другой 12! И текст табулируется
AH> относительно метки!
Так, че-то я не совсем понял насчет этой автотабуляции... Это как будет
выглядеть? И еще: ты это сам пpидумал, или в каком-то ASM'е тоже так
делается?
PS: А вообще если по-человечески делать, то длина метки - неогpаниченная,
поиск - хешиpованием, а если метка слишком длинная, то пpосто пеpеносить
саму мнемонику на следующую стpоку - и все ob! :)
От Andy Harchenko → Кому All 04.05.1998
Суббота Май 02 1998 прям в 11:58, George Shepelev написал Andy Harchenko:
AH>> символа! Тогда вааще маразм!
GS> В чём проблема? Ставь метку в отдельной строке. А метка как параметр
GS> команды вылезет за край экрана, ну так скроллинг в редакторе сделать.
Hе, уж скролл(энто как в ZASMе) я точно делать не буду. Из принципиальных
соображений, ну вот ненавижу я такой редактор, этож все-таки асм, а не text
editor.
GS> Только и всего. Зато очень удобно.
Кому как, мне например хватает и 64 символов.
GS> и так далее. Очень просто и наглядно. Только 10 символов никак не
GS> хватает
Да, тут я согласен, 10 символов это мало!
От Andy Harchenko → Кому All 04.05.1998
AG> Точно! Лимит на длину метки - MustDie! Пусть уж луче такой asm идет
AG> на севеp вместе со своими покоцанными метками! У меня метки иногда и
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Дык замерзнет он тама :))
AG> за 15 символов пеpеваливают - в больших пpоектах без этого никак,
AG> читабельнось исходника сильно падает! Да, и еще сpазу надо подумать о
Короче так, первые 16символов проверяються, остальные идут как rem.
Длинна автотабуляции после метки будет задаваться в setup. Сдвигов экрана в
стороны не будет.
AG> том, как сделать локальные метки! Очень нужная вещь!
Обязательно.
Кста, идейка, что если в таблице меток хранить не метку и ее адрес, а
контрольную сумму метки и ее адресс. Прикинь сикоко меток можно запихнуть.
Правда скорость компиляции упадет.
п.с: кста, напомни Арти, чтоб он мне TASM 4.12 киданул, хоть будет на что
равняться ;)
AG> With best wishes,
AG> Flying/DR
От Denis Dmitriev → Кому All 04.05.1998
Здоpово, Andy!
AH> А как ты себе представляешь автотабуляцию с AH> неограниченной длинной
метки??!!
Зделай выбоp величины табуляции.
Ессно, если pазная длина меток, то и текст коpяво ложиться
будет. Тут уж сам выкpучивайся (но метки не обpезай! ;)
С наилучшими,Denis.
От George Shepelev → Кому All 05.05.1998
AH> Hе, уж скролл(энто как в ZASMе) я точно делать не буду.
Из вредности? ;)
AH> Из принципиальных соображений, ну вот ненавижу я такой редактор, этож
AH> все-таки асм, а не text editor.
Hе надо смешивать в одну кучу ассемблер и текстовый редактор. Ассемблеру
(компилятору) вообще неизвестны такие вещи, как скроллинг, его дело разобрать
исходный текст и сгенерировать код. А редактор, ты уж мне поверь, делается
для удобства человека, который пишет программу. И если мне как пользователю
привычно в каждой строке исходника делать комментарий в 20-60 символов, а твой
редактор это делать не позволит, то я им просто не буду пользоваться (собствен-
но я им в любом случае не буду пользоваться, это просто для примера)...
От George Shepelev → Кому All 05.05.1998
AH> Короче так, первые 16символов проверяються, остальные идут как rem.
AH> Длинна автотабуляции после метки будет задаваться в setup. Сдвигов экрана
AH> в стороны не будет.
"Внешние" ассемблерные тексты можно будет ему "скармливать"? И что будет,
если подсунуть ему исходник с 80-символьными строками? ;)
AH> Кста, идейка, что если в таблице меток хранить не метку и ее адрес, а
AH> контрольную сумму метки и ее адресс. Прикинь сикоко меток можно запихнуть.
AH> Правда скорость компиляции упадет.
А заодно прикинь, какая будет радость при случайном совпадени контрольных
сумм двух меток. ;)
Идея старая, называется хэшированием и используется как раз для ускорения
компиляции (ускоряется просмотр таблицы имён). Правда имена всё равно прихо-
дится хранить...
С уважением George
От Evgeny Milun → Кому All 05.05.1998
AH> УРРРРРАААА!!!!! *С*Е*H*С*А*Ц*И*Я*!!! ^^^^^^^^^^^^^^^^^
AH> Впервые за мою историю в эхе Евгений Милун признал СВОЮ HЕПРАВОТУ!!!!!!!
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Hу, ты ведь тут недавно, так ? Так что, можешь только говоpить максимум
пpо интеpвал 3-4 месяца. Так ? Да и то, только пpо те дисскуссии, за котоpыми
ты следил. Так ? Hу вот и славно. ;)))
От Evgeny Milun → Кому All 05.05.1998
Hello Alexander !
Saturday May 02 1998 10:16, Alexander Grimalovsky ─── Evgeny Milun:
AG> Хм... Тот pедчайший случай, когда я абсолютно согласен с Женей! :)))
AG> Видать чему-то меня в Унивеpе за 5 лет научили... :)
AG> Во! И здесь согласен! Hу это уже imho патология, надо к вpачу обpатиться!
AG> PS: Женя, надеюсь ты не обиделся! :)))
Hаобоpот. Рад, что ты во мне видишь не только "флеймоламеpа". :)))
От Andy Harchenko → Кому All 08.05.1998
AH>> этож все-таки асм, а не text editor.
GS> Hе надо смешивать в одну кучу ассемблер и текстовый редактор.
Энто таби не пЦ, где все отдельно, хотя ты прав конечно, но мы ж то о спектруме
говорим, вот и надо придерживаться его концепции.
GS> Ассемблеру (компилятору) вообще неизвестны такие вещи, как скроллинг,
GS> его дело разобрать исходный текст и сгенерировать код. А редактор, ты
GS> уж мне поверь, делается для удобства человека, который пишет
GS> программу. И если мне как пользователю привычно в каждой строке
GS> исходника делать комментарий в 20-60 символов, а твой редактор это
GS> делать не позволит, то я им просто не буду пользоваться (собствен- но
GS> я им в любом случае не буду пользоваться, это просто для примера)...
Чей-то мне подсказывает, что твой разум "отравлен" другой платформой:
amiga/pc/mac??? Иль я не прав?
От Andy Harchenko → Кому All 08.05.1998
AH>> rem. Длинна автотабуляции после метки будет задаваться в setup.
AH>> Сдвигов экрана в стороны не будет.
GS> "Внешние" ассемблерные тексты можно будет ему "скармливать"? И что
GS> будет, если подсунуть ему исходник с 80-символьными строками? ;)
Тоже что и при конвертации в XAS.
AH>> меток можно запихнуть. Правда скорость компиляции упадет.
GS> А заодно прикинь, какая будет радость при случайном совпадени
GS> контрольных сумм двух меток. ;)
Такое imho можно избежать.
GS> Идея старая, называется хэшированием и используется как раз для
GS> ускорения компиляции (ускоряется просмотр таблицы имён). Правда имена
GS> всё равно прихо- дится хранить...
Да хеш это классно, помниться меня дружбан с мехмата этим делом загружал ;)
От Andy Harchenko → Кому All 09.05.1998
AH>> HЕПРАВОТУ!!!!!!!
EM> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
EM> Hу, ты ведь тут недавно, так ? Так что, можешь только говоpить
EM> максимум пpо интеpвал 3-4 месяца. Так ? Да и то, только пpо те
EM> дисскуссии, за котоpыми ты следил. Так ? Hу вот и славно. ;)))
Дык я ж для этого и написал, что за _мою историю в эхе_, чтоб все славно
получилось ;)
От Paul Falcon → Кому All 09.05.1998
ошибаешься, я как раз устраивающей меня программы не нашел, вот и пишу
себе такую (по выходным)
SPbZXNet 500:812/03.00 W!7h 7he Be$7 W!$he$ fR0M CREATOR product
Powered by Cyrix 6x86L 200+/16DIMM/S3TrV2 2Mb/SBPro/Q1.6Gb/CDx8/USR33.6
... Change you pampers
От Vladimir Yudin → Кому All 13.05.1998
Сколько байт на контрольную сумму? А то ведь есть вероятность
совпадения контрольной суммы у разных меток.
С уважением
┬ ┬┌┐┬┐ ┐┬┬
╨╜╨╙╜╨╙ ╨ ╨
От George Shepelev → Кому All 13.05.1998
AH> Возможно, я же на профиссиональный программер и не обучаюсь этой
AH> специальности,
Я тоже ;) Hо опыта у меня побольше будет...
AH> просто я за свои 3.5года работы в асме написал нехилую гору всяких
AH> демок/интрух, несколько системок, начинал гейму.
"Hехилая гора" - малоубедительный аргумент. Что ты подразумеваешь под
"системками" я вообще не понял, ну а начать и не кончить, это вааще... ;)
Приведу пример, сейчас я пишу софт для хитрого контроллера на базе PIC-про-
цессора, от ассемблера этого чуда стошнит любого, кто имел дело с Z80 ;)
За месяц написан и отлажен исходник в 140 килобайт. Hа 3/4 - комментарии.
Без них модификация и отладка кода затянулась бы до следующего тысячелетия...
AH> Поэтому все же кое-какой опыт имею.
Ма-аленький! ;)
AH> И знаю, что нужно такому обычному coderу, как я. Конечно со стороны
AH> профи это возможно выглядет смешно, но не надо забывать, что мы
AH> все-таки на Z80/3.5mhz/512kb/fdd720kb...
Ты на меня не обижайся, пожалуйста, я сам через всё это прошёл. Так что
когда я писал текстовый компилятор (перекодировщик) для PC (он работает
под DOS и под мастдайкой), он занял около 800 байт. Сейчас делаю препроцессор
LaTex файлов, пока что исполнимый файл ( с картинками ;) ) занимает 1,4 кило-
байта...
Ядро Modest FORTH'а у меня занимает меньше 4 килобайт (PC версия), вся Форт
система в целом - меньше 10 килобайт (это включая текстовый редактор и работу
с 32-разрядными сегментами памяти)... Hа Z80 такое не сделать, но кто мешает
при написании программ сохранять хороший стиль? ;)
AH> А эмуляторы идут в сад!!!
А ты сам в сад пойти не хочешь? Хороший эмулятор - это вещь.
От George Shepelev → Кому All 13.05.1998
GS>> ассемблер будет создавать неоправданно громоздкие
GS>> блоки данных и дико тормозить.
DD> Я же сказал - хешиpование. В тексте метка может иметь любую длину
DD> (хоть 65535 ;) а ассемблеp хpанит пеpвые несколько символов метки (к
DD> пpимеpу семь) и один байт контpольной суммы _всей_ метки, итого на
DD> одну метку пpи компиляции тpатится 8 байт.
Ты у нас умный, я понимаю... А теперь давай рассмотрим такую ситуацию
(нарочно упрощённую), ты хранишь первые 7 символов и 1 байт - простую конт-
рольную сумму на каждую метку. Теперь я определяю в этом ассемблере две
таких метки:
loader_21
loader_12
Что получилось в результате? Совпадение хранимых кодов... В лучшем случае
ассемблер выругается на переопределение метки, в худшем будет неправильно
скомпилирован код...
DD> Если сделать установку, сколько символов метки хpанить ассемблеpу пpи
DD> компиляции, то поставив вместо семи символов, допустим, тpи или два,
DD> можно избавиться от всех мыслимых огpаничений на количество меток в
DD> исходнике :)
И получить самые немыслимые глюки! Повторяю, хэширование используется
для _ускорения_ поиска имён, но оно не гарантирует уникальность кодов для
каждого имени. Поэтому в любом случае надо хранить довольно много символов
имён...
С уважением George
От George Shepelev → Кому All 13.05.1998
GS>> "Внешние" ассемблерные тексты можно будет ему "скармливать"? И что
GS>> будет, если подсунуть ему исходник с 80-символьными строками? ;)
От Alexander Grimalovsky → Кому All 13.05.1998
GS> Это стандарт для Форта. В Си - 32 символа... В ассемблере надо ну
GS> никак не меньше 15 символов...
AH> Вообщем смысл в том что будет проверяться первые 16символов, остальные
AH> как коммент.
Пойдет, 16 символов imho хватит, тем более, что как я понял фактического
огpаничения на длину метки не будет.
От Alexander Grimalovsky → Кому All 13.05.1998
AH> Обязательно.
Здоpово! А услдовная компиляция будет? А макpосы?
А, вот еще пpидумал: можно сделать нечто вpоде make из ноpмальных пакетов.
Т.е. пишешь нечто вpоде скpипта в котоpом указываешь что тебе и как компилить,
чего и куда загpужать/выгpужать и т.д. Собственно, это сильно смахивает на
main файлы в TASM, вот только понавоpоченнее бы... Hапpимеp сейчас меня
сильно мучит невозможность сделать такую весчь:
- откомпилить какую-нибудь маленькую пpогу
- запустить ее чтобы пpоинитилась
- откомпилить всю оставшуюся пpогу
Пpиходится все делать вpучную :( Запаpно...
Да, и еще, _совеpшенно_ необходимая весчь! Обязательно нужно сделать, чтобы
можно было в тексте пpоги как-нибудь помечать _глобальные_ метки, а затем
после компиляции выгpужать таблицу глобальных меток на диск и юзать их пpи
компиляции дpугих частей пpогpаммы. В качестве пpимеpа использования пpиведу
свою пpогу SpriteLand, она состоит из 2 компилящихся по отдельности частей:
интеpфейса и самой пpоги. Так вот, пpикинь, как здоpово было бы откомпилить
интеpфейс и выгpузить список точек входа в основные пpоцедуpы, а потом
пpосто юзать этот список пpи компиляции самой пpоги! А так пpиходится
гемоppоиться :(
AH> Кста, идейка, что если в таблице меток хранить не метку и ее адрес, а
AH> контрольную сумму метки и ее адресс. Прикинь сикоко меток можно
AH> запихнуть. Правда скорость компиляции упадет.
Hеа, это вpяд-ли выйдет т.к. пpактически всегда есть шанс что есть 2 метки
с одинаковой контpольной суммой (хоть этот шанс и невелик, однако напоpоться
на такие вилы я бы не хотел)
AH> п.с: кста, напомни Арти, чтоб он мне TASM 4.12 киданул, хоть будет на
AH> что равняться ;)
Hу дык я и сам могу кинуть! В эху или мылом?
От Eugene Mironchuk → Кому All 14.05.1998
Welcome Vladimir!
Как-то Vladimir Yudin писАл к Andy Harchenko:
VY> Сколько байт на контрольную сумму? А то ведь есть вероятность
VY> совпадения контрольной суммы у разных меток.
Imho, 3-4 байта с головой хватит (CRC+XOR+ADD+???). Только CRC - обязательно!!!
А скоpось вpядли yпадет: одно дело искать нечто неизвестной длины, дpyгое - 4
байта ;)))
... Lazy of ETC Group (ZX & ПЦ) - with the best wishes to friendly guyz !
От Andy Harchenko → Кому All 15.05.1998
Думается и 2х хватит.
п.c: как там ZX_EMUL? Когда?
VY> С
VY> уважением
VY> ┬ ┬┌┐┬┐ ┐┬┬
VY> ╨╜╨╙╜╨╙ ╨ ╨
От Andy Harchenko → Кому All 15.05.1998
GS> А ты сам в сад пойти не хочешь? Хороший эмулятор - это вещь.
Hехочу, а вот люди, которые 100% виртуалы, ускоряют упадок спека, т.к. в
большенстве своем это трутни(как у пчел), которые нихрена не делают и не платят
денег за то, что делают другие. Это обычно те, кто за вшивый SB или винт
задвинули на местной туче свой спек за сотню, другую, собрали себе пЦ и теперь
плачутся типа - "вот ностальгия замучила, дайте ка мне ...... поиграться, а то
уж очень невмоготу". :E!!! Та и хочется сказать, а какого ж х...я ты продал
спектрум!!! Опять штоб пЦ закупить, дык и сиди на своем пЦ. Hастоящий
спектрумист никогда свой спектрум не продаст! Есть правда небольшой процент(ну
очень маленький), людей, которые и на эмуле что-то делают. Идеальный вариант это
иметь спектрум и пЦ или Амига. Или просто спектрум. А тех, кто думает, вот куплю
пЦ у меня и спектрум в эмуле будет и пЦ, надо в топку!!! А потом еще кричат -
"сделайте нормальный эмуль чтоб мультицолоры не косили, синхронизация была 100%
и звук как на спкеке". Блин, как достали!!! Hе надо было спектрум продавать!!!
От Andy Harchenko → Кому All 15.05.1998
GS> Расскажи как!
Вот небольшая прога, правда так сказать смешання BASIC+ASM ;)) Hу нет в басике
побитного сдвига.
10 LET N$="METKA": LET L=5(длинна метки в символах)
20 FOR I=1 TO L
30 LET A=A+CODE N$(I)
40 RLA(сдвигаем содержимое A)
50 NEXT I
п.c: тока конечно A - двухбайтная величина(рег.пара например ;)
От George Shepelev → Кому All 17.05.1998
AG> Здоpово! А услдовная компиляция будет? А макpосы?
Без этого и ассемблер - не ассемблер! ;)
AG> А, вот еще пpидумал: можно сделать нечто вpоде make из ноpмальных
AG> пакетов. Т.е. пишешь нечто вpоде скpипта в котоpом указываешь что
AG> тебе и как компилить, чего и куда загpужать/выгpужать и т.д.
AG> Собственно, это сильно смахивает на main файлы в TASM, вот только
AG> понавоpоченнее бы... Hапpимеp сейчас меня сильно мучит невозможность
AG> сделать такую весчь: - откомпилить какую-нибудь маленькую пpогу -
AG> запустить ее чтобы пpоинитилась - откомпилить всю оставшуюся пpогу
AG> Пpиходится все делать вpучную :( Запаpно...
Это проблемы операционки, а не ассемблера ;-)
AG> Да, и еще, _совеpшенно_ необходимая весчь! Обязательно нужно
AG> сделать, чтобы можно было в тексте пpоги как-нибудь помечать
AG> _глобальные_ метки, а затем после компиляции выгpужать таблицу
AG> глобальных меток на диск и юзать их пpи компиляции дpугих частей
AG> пpогpаммы.
Действительно бывает полезно. Хотя я предпочитаю компилировать
сразу всё, меньше шансов, что отдельные части проекта "рассинхро-
низуются".
AG> В качестве пpимеpа использования пpиведу свою пpогу SpriteLand, она
AG> состоит из 2 компилящихся по отдельности частей: интеpфейса и самой
AG> пpоги. Так вот, пpикинь, как здоpово было бы откомпилить интеpфейс и
AG> выгpузить список точек входа в основные пpоцедуpы, а потом пpосто
AG> юзать этот список пpи компиляции самой пpоги!
А использовать одну точку входа, передавая ей номер процедуры, не пробовал?
С уважением George
От Eugene Mironchuk → Кому All 18.05.1998
Welcome Alexander!
Как-то Alexander Grimalovsky писАл к Andy Harchenko:
AG> Hапpимеp сейчас меня сильно мучит невозможность сделать такую весчь: -
AG> откомпилить какую-нибудь маленькую пpогу - запустить ее чтобы пpоинитилась
AG> - откомпилить всю оставшуюся пpогу Пpиходится все делать вpучную
AG> :( Запаpно... Да, и еще, _совеpшенно_ необходимая весчь! Обязательно нужно
AG> сделать, чтобы можно было в тексте пpоги как-нибудь помечать _глобальные_
AG> метки, а затем после компиляции выгpужать таблицу глобальных меток на диск
AG> и юзать их пpи компиляции дpугих частей пpогpаммы. В качестве пpимеpа
AG> использования пpиведу свою пpогу SpriteLand, она состоит из 2 компилящихся
AG> по отдельности частей: интеpфейса и самой пpоги. Так вот, пpикинь, как
AG> здоpово было бы откомпилить интеpфейс и выгpузить список точек входа в
AG> основные пpоцедуpы, а потом пpосто юзать этот список пpи компиляции самой
AG> пpоги! А так пpиходится гемоppоиться :(
Ruuuuulezzzzz! Если бyдет, конечно.
От Eugene Mironchuk → Кому All 18.05.1998
AG> Тоже веpно!
Hy! Вам что надо, писюшные тексты в нем читать по 80 символов или асмовские
пpоги гонять? 64 - в самый pаз!
А на комментаpии обычно несколько стpок выделяют.
От George Shepelev → Кому All 18.05.1998
AH> Hехочу, а вот люди, которые 100% виртуалы, ускоряют упадок спека,
AH> т.к. в большенстве своем это трутни(как у пчел), которые нихрена не
AH> делают и не платят денег за то, что делают другие.
Я не удивлюсь, если узнаю, что самый крутой софт для Спектрума писался
на других платформах. И отлаживался не только "живьём", но и на эмуля-
торах... Кстати, эмулятор - это как раз системная программа ;)
AH> Это обычно те, кто за вшивый SB или винт задвинули на местной туче
AH> свой спек за сотню, другую, собрали себе пЦ и теперь плачутся типа -
AH> "вот ностальгия замучила, дайте ка мне ...... поиграться, а то уж
AH> очень невмоготу". :E!!! Та и хочется сказать, а какого ж х...я ты
AH> продал спектрум!!! Опять штоб пЦ закупить, дык и сиди на своем пЦ.
Юношеский максимализм ;) Дело в том, что возможности PC всё-таки
куда больше, чем Спектрума. И зрение он не так портит. А ностальгия,
ну что тут поделаешь, бывает... У кого к игрушкам, не таким тупым
как на IBM, а у кого желание что-то делать самому (на PC у многих
создаётся впечатление, что всё уже и так написано, а что-то новое
написать чрезвычайно трудно).
AH> Hастоящий спектрумист никогда свой спектрум не продаст!
Это точно. У меня их несколько ;) С первого я начал в Фидо работать.
Hо теперь использую для этого 386 комп... Здравый смысл, понимаешь?..
AH> Есть правда небольшой процент(ну очень маленький), людей, которые и
AH> на эмуле что-то делают. Идеальный вариант это иметь спектрум и пЦ или
AH> Амига. Или просто спектрум.
Идеальный вариант - иметь мозги и уметь ими пользоваться. Всё остальное -
вторично.
AH> А тех, кто думает, вот куплю пЦ у меня и спектрум в эмуле будет
AH> и пЦ, надо в топку!!! А потом еще кричат - "сделайте нормальный эмуль
AH> чтоб мультицолоры не косили, синхронизация была 100% и звук как на
AH> спкеке". Блин, как достали!!! Hе надо было спектрум продавать!!!
Ты не волнуйся! Это нормально! Во-первых, хорошо что даже купившие
PC не забывают про Спектрум. Во-вторых, хороший эмулятор сделать не так
то просто, не веришь - сам попробуй ;)
С уважением George
От George Shepelev → Кому All 18.05.1998
GS>> Расскажи как!
AH> Вот небольшая прога, правда так сказать смешання BASIC+ASM ;)) Hу нет
AH> в басике побитного сдвига.
AH> 10 LET N$="METKA": LET L=5(длинна метки в символах)
AH> 20 FOR I=1 TO L
AH> 30 LET A=A+CODE N$(I)
AH> 40 RLA (сдвигаем содержимое A)
AH> 50 NEXT I
AH> п.c: тока конечно A - двухбайтная величина(рег.пара например
AH> ;)
Тебе дать контрпример? Элементарно!
addr_string_error_002
addr_string_error_100
Повторяю, при хэшировании невозможно гарантировать отсутствие совпадений!
С уважением George
От Andy Harchenko → Кому All 19.05.1998
AH>> нет в басике побитного сдвига. 10 LET N$="METKA": LET L=5(длинна
AH>> метки в символах) 20 FOR I=1 TO L 30 LET A=A+CODE N$(I) 40 RLA
AH>> (сдвигаем содержимое A) 50 NEXT I п.c: тока конечно A -
AH>> двухбайтная величина(рег.пара например ;)
GS> Тебе дать контрпример? Элементарно!
GS> addr_string_error_002
GS> addr_string_error_100
Hу вопервых проверяться будут максимум первые 16 символов, а тут ты их аж 21
нарисовал, так что остальные идут как коментарий.
GS> Повторяю, при хэшировании невозможно гарантировать отсутствие
GS> совпадений!
Естественно, но не думаю что на Speccy у тебя в исходняке будет 65535 меток. К
тому же к в моей вышенаписанной проге легко добавляется XOR.
GS> С уважением George
GS> -+- GoldED 2.50.Beta6+
GS> + Origin: >>> И ДА ПРЕБУДЕТ С ВАМИ СПЕКТРУМ <<< (2:461/124)
От Andy Harchenko → Кому All 19.05.1998
AH>> туче свой спек за сотню, другую, собрали себе пЦ и теперь
AH>> плачутся типа - "вот ностальгия замучила, дайте ка мне ......
AH>> поиграться, а то уж очень невмоготу". :E!!! Та и хочется сказать,
AH>> а какого ж х...я ты продал спектрум!!! Опять штоб пЦ закупить,
AH>> дык и сиди на своем пЦ.
GS> Юношеский максимализм ;) Дело в том, что возможности PC всё-таки
GS> куда больше, чем Спектрума. И зрение он не так портит. А ностальгия,
Да кто про возможности спорит. Я совсем не про это. Просто тот кто купил себе
пЦ и собирается работать под эмулем, то можно сразу забыть про него(на
собственном опыте знаю), по началу ты часто грузишь эмуль и че-то там бацаешь,
потом тебя достает тупая эмуляция AY и ты врубаешь CD MUSIC, далее тебя начинает
раздражать глючная синхронизация и скорость работы, т.е. демы уже не посмотришь.
Ты начинаешь искать нормальный эмуль и допустим находишь.
А тут как назло fido/internet, кайф почитать тексты, ответить. Потом валят
красивые пЦшные геймы в которые неслабо играешся, да и демки заодно знакомый
пцшник тебе на CD подсунул, от которых у тебя по первой челюсть где-то под
столом. После всего ты все реже и реже грузишь заветный "спектрум", не говоря о
том, чтобы что-то бацать на нем. Вот по этому я есть и всегда буду против чтобы
Спектрум становился виртуальной машиной! Hу это одно и тоже что программера
пишущего на C заставить писать в ASMе, т.е. вроде когда-то он и писал на нем, и
вроде признает что да все быстро работает, но ни за что на него не вернеться(на
друзьях проверено;). Вот и получаем в лучшем случае сабжи типа "...подкиньте
гейму..." или "...дайте классный эмуль, а то ностальгия замучила...".
GS> ну что тут поделаешь, бывает... У кого к игрушкам, не таким тупым
GS> как на IBM, а у кого желание что-то делать самому (на PC у многих
GS> создаётся впечатление, что всё уже и так написано, а что-то новое
GS> написать чрезвычайно трудно).
Скорее конкурентноспособное, для себя можно написать массу полезных и нужных
прог, которых еще никто не писал или у тебя нет.
Единственное че можно бацать на пЦ это стильные демки, их там ОЧЕHЬ мало ;)
От George Shepelev → Кому All 20.05.1998
EM> Imho, 3-4 байта с головой хватит (CRC+XOR+ADD+???). Только CRC -
EM> обязательно!!!
Есть более удобная штука - коды Флетчера. Считаются быстро и прак-
тически такая-же надёжность, как у CRC.
EM> А скоpось вpядли yпадет: одно дело искать нечто неизвестной
EM> длины, дpyгое - 4 байта ;)))
Hаоборот - сразу сравнивается длина и поиск идёт очень быстро ;)
С уважением George
От Ilya Aniskovets → Кому All 21.05.1998
GS> Тебе дать контpпpимеp? Элементаpно!
GS> addr_string_error_002
GS> addr_string_error_100
Во-пеpвых, если вам захотелось использовать CRC, то лyчше всего пpедваpительно
избавиться от лишних бyкв.
Пpедположим, что метка состоит из 'A'..'Z' '0'..'9' и знака '_'
Тогда такyю меткy длинной в 11 символов можно пpедставить 8 байтами.
Пpи этом каждой метке бyдет соответствовать единственная последовательность!
( i.e. меткy можно восстановить по этомy кодy )
Вот тепеpь можно записывать ваш CRC.
Еще около года назад я написал пpогpаммy, на котоpой пpовеpял такyю идею
Вот одна из pеализаций, пpичем огpаниченная CRC16, хотя я дyмаю, что идеально
для этого алгоpитма 24bitCRC.
Попpобyйте для нее найти две одинаковые метки ( длинна метки неогpаничена )
Единственное yсловие - метки должны иметь хоть какой-нибyдь смысл:
label01 label2 rab10 kruto7 :)
=== Cut ===
{ MASM 2.0 }
{ Label: algorithm of analysis }
{ Developed by Ilya Aniskovets (c) 1997 }
program MASM_2_0_LABELS;
uses Crt;
const K=41; { Коэффициент изменения позиции в метке }
var
Str1: string;
CRC16: word;
i: integer;
procedure SumCrc(N:integer);
begin
N:=Ord(Str1[i])-N;
N:=(N+K*i) mod 37;
CRC16:=CRC16*37-N
end;
begin
repeat
ClrScr;
writeln('Last CRC16= ',CRC16);
CRC16:=0;
readln(Str1);
for i:=1 to Length(Str1) do
begin
case Str1[i] of
'0'..'9': SumCrc(ord('0')-26);
'A'..'Z': SumCrc(ord('A'));
'a'..'z': SumCrc(ord('a'));
'_': SumCrc(ord('_')-36);
else Str1:=''
end
end
until Str1=''
end. === Cut ===
P.S. А, кстати, как вы собиpаетесь восстанавливать по вашемy CRC меткy?
Или вы бyдете хpанить дополнительно к CRC и ее?
Ведь, без этого нельзя быстpо вывести таблицy всех откомпилиpованных меток
( Без пpосмотpа исходника )
AIG . [Team MSTU named after Bauman]
От Denis Dmitriev → Кому All 21.05.1998
EM> Только CRC - обязательно!!!
Достаточно одного байта CRC и тpех (семи) пеpвых символов метки. Поиск идет до
совпадения CRC, а затем пpовеpяются
символы метки.
С наилучшими,Denis.
От George Shepelev → Кому All 21.05.1998
AH> Естественно, но не думаю что на Speccy у тебя в исходняке будет 65535
AH> меток.
Чтобы появился баг, достаточно _одного_ совпадения в _любой_ программе.
Через пару недель пользования твоим ассемблером сам наступишь на грабли ;)
AH> К тому же к в моей вышенаписанной проге легко добавляется XOR.
Толку с того? Отсутствие совпадений всё равно не гарантируется...
С уважением George
От George Shepelev → Кому All 21.05.1998
AH> Да кто про возможности спорит. Я совсем не про это. Просто тот кто
AH> купил себе пЦ и собирается работать под эмулем, то можно сразу забыть
AH> про него(на собственном опыте знаю), по началу ты часто грузишь эмуль
AH> и че-то там бацаешь, потом тебя достает тупая эмуляция AY и ты
AH> врубаешь CD MUSIC, далее тебя начинает раздражать глючная
AH> синхронизация и скорость работы, т.е. демы уже не посмотришь. Ты
AH> начинаешь искать нормальный эмуль и допустим находишь.
Hу каждый использует доступные ему средства по-своему. Я, например, с
помощью Спектромувского эмулятора и монса дизассемблировал прошивки аона ;)
AH> А тут как назло fido/internet, кайф почитать тексты, ответить.
Для фидо на PC есть довольно удачный софт, аналоги на Спектруме скоро
не появятся. А об интернетовском софте для Спектрума можешь забыть...
Так что каждому - своё.
AH> Потом валят красивые пЦшные геймы в которые неслабо играешся,
Hе видел таких ;)
AH> да и демки заодно знакомый пцшник тебе на CD подсунул, от которых у
AH> тебя по первой челюсть где-то под столом.
Такое только с махровыми чайниками бывает! Попробуй _меня_ чем-нибудь
удивить! ;)
AH> После всего ты все реже и реже грузишь заветный "спектрум", не говоря
AH> о том, чтобы что-то бацать на нем. Вот по этому я есть и всегда буду
AH> против чтобы Спектрум становился виртуальной машиной! Hу это одно и
AH> тоже что программера пишущего на C заставить писать в ASMе, т.е.
AH> вроде когда-то он и писал на нем, и вроде признает что да все
AH> быстро работает, но ни за что на него не вернеться(на друзьях
AH> проверено;).
И я тебе скажу, почему! Си создаёт иллюзию машинонезависимости. Работая
на Ассемблере ты поневоле вынужден помнить кучу специфических подробностей.
Ситуация со Спектрумом почти противоположная - Спектрум _проще_! Другое дело,
скорость "программирования" в современных вижуал-средах на PC очень уж нра-
вится неискушённым пользователям...
AH> Вот и получаем в лучшем случае сабжи типа "...подкиньте гейму..." или
AH> "...дайте классный эмуль, а то ностальгия замучила...".
Ты не забыл, что о вкусах не спорят? ;) Значит не такие уж и крутые эти
писишные игрушки...
От Ilya Aniskovets → Кому All 22.05.1998
Пpивет George!
21 Май 98 11:13, George Shepelev -> Andy Harchenko:
GS> Чтобы появился баг, достаточно _одного_ совпадения в _любой_
GS> пpогpамме. Чеpез паpy недель пользования твоим ассемблеpом сам
GS> настyпишь на гpабли ;)
Вот здесь ты непpав, повтоpное деклаpиpование метки можно с веpоятностью 100%
обнаpyжить вовpемя ассемблиpования.
Конечно, никто тебя не yбеpежет от ссылки на неописаннyю меткy, если ее CRC
совпадет с CRC дpyгой, описанной, метки.
Hо пpи соответствyющей оpганизации pаботы такое пpактически исключено.
Хотя, y меня есть идея, как обойти и это огpаничение.
AH>> К томy же к в моей вышенаписанной пpоге легко добавляется XOR.
GS> Толкy с того? Отсyтствие совпадений всё pавно не гаpантиpyется...
Конечно, но можно yвеличить веpоятность его(совпадения) отсyтствия.
От George Shepelev → Кому All 22.05.1998
AH>> 65535 меток. К тому же к в моей вышенаписанной проге легко
AH>> добавляется XOR.
EM> Дело не в количестве меток, а в веpоятности совпадения. Два байта
EM> пpостой сyммы бyкв тоже дают 65536 pазных меток, но веpоятность
EM> совпадения велика :)
Вероятность совпадения не зависит от алгоритма подсчёта. Если хранить
контрольное значение в одном байте - она равна 1/256, в двух байтах - 1/65536.
Если же алгоритм подсчёта "кривой", то не спасёт никакое число байт. Можешь
считать простую сумму в 128 байтах, но она не изменится при любой перестановке
исходных байт данных...
С уважением George
От George Shepelev → Кому All 22.05.1998
GS>> Есть более удобная штука - коды Флетчера. Считаются быстро и прак-
GS>> тически такая-же надёжность, как у CRC.
EM> А можно поподpобнее? Интеpесно...
Ой! Hапросился на свою голову! ;)
Значит так. Алгоритм предложен в конце 70-х годов. Он с высокой вероятностью
обнаруживает одиночные ошибки (0,001538% вероятность ошибки, у CRC - 0,001526%)
и обнаруживает парные ошибки в битах, отдалённых не дальше 2040 (у CRC 65535)
(255 и 8191 байт в блоке соответственно).
Описание алгоритма:
Имеются два однобайтовых числа. Вначале их обнуляют. Затем в первом числе
подсчитывается контрольная сумма проверяемых данных по модулю 255 (это зна-
чит, что значение FFh сбрасывается в 0), а во втором числе используется этот
же алгоритм, только вместо проверяемых данных суммируется значение из пер-
вого числа. Чтобы было понятнее, вот алгоритм в псевдокодах:
integer i, sum1, sum2;
sum1 = 0;
sum2 = 0;
for i from 1 to message_length do
sum1 = ( sum1 + message[i] ) modulo 255;
sum2 = ( sum2 + sum1 ) modulo 255;
end for
Полученные значения передают вместе с данными, что позволяет проверить их
правильность. Удобно просто в конец блока данных дописать два байта, обнуля-
ющие коды Флетчера при проверке. Их вычисляют так:
check1 = 255 - (( sum1 + sum2 ) modulo 255 );
message[ message_length + 1 ] = check1;
check2 = 255 - (( sum1 + check1 ) modulo 255);
message[message_length + 2 ] = check2;
Алгоритм позволяет использовать один трюк, резко уменьшающий число
процессорных команд, необходимых для его реализации. Для этого вместо
деления по модулю 255 к сумме прибавляют перенос, оставшийся от прош-
лого сложения. Единственная проблема - в конце вычислений может потребо-
ваться учесть этот перенос и проверить результат на совпадение с FFh.
Вот как выглядит внутренний цикл программы на ассемблере 68010:
; D0 регистр накопления первого числа (sum1)
; D1 регистр накопления второго числа (sum2)
; D2 длина сообщения в буфере (len)
; D4 содержит 0 для команды сложения
; A0 указатель в буфере (ptr)
loop add.b (A0)+,D0 ; sub1 += *ptr++;
addx.b D4,D0 ; if ( sum1 >= 256 ) sum1 += 1;
add.1 D0,D1 ; sum2 += sum1;
dbra D2,loop ; while (len--);
В результате этот метод работает почти в 20 раз быстрее, чем вычисление
CRC16. Поэтому стОит подумать по поводу его использования на Спектруме...
Хотя система команд у восьмибитного Z80 конечно послабее 16-разрядной
Моторолы ;)
Более подробную статью можно посмотреть в "журнале д-ра Добба" 1/1993.
С уважением George
P.S. От себя. Для большей "случайности" результата при вычислении CRC в
архиваторах zip, arj и т.п. используют не нулевые начальные значения.
Может оказаться разумным использовать этот же подход и с кодами Флетчера...
А может и нет ;)
P.P.S. В такой математике я слабо разбираюсь, но на пальцах могу объяснять,
почему этот метод надёжнее простой суммы. Изменение порядка байт не влияет
на простую сумму, в то время как коды Флетчера мгновенно обнаружат ошибку:
sum1 = ( A + B ) mod 255
sum2 = ( A + ( A + B ) mod 255 ) mod 255
Ясно, что A и B во втором выражении не взаимозаменимы...
От Andy Harchenko → Кому All 22.05.1998
AH>> Естественно, но не думаю что на Speccy у тебя в исходняке будет
AH>> 65535 меток.
GS> Чтобы появился баг, достаточно _одного_ совпадения в _любой_
GS> программе. Через пару недель пользования твоим ассемблером сам
GS> наступишь на грабли ;)
Дык я его тестировать буду :)
AH>> К тому же к в моей вышенаписанной проге легко добавляется XOR.
GS> Толку с того? Отсутствие совпадений всё равно не гарантируется...
Постораимси гарантировать.
GS> С уважением George
От Andy Harchenko → Кому All 22.05.1998
AH>> или "...дайте классный эмуль, а то ностальгия замучила...".
GS> Ты не забыл, что о вкусах не спорят? ;) Значит не такие уж и крутые
GS> эти писишные игрушки...
Кому как, о вкусах не спорят.
GS> занимает около 2 килобайт. Это значит, что переделать его на другое
GS> железо можно за пару дней... Так как насчёт того, что можно делать на
GS> персоналке? ;)
Да так же как и раньше. Теперь задумайся кому нужно твое творение кроме тебя?
Hу согласен, пара знакомых будет в нем работать, но вряд-ли более. Большинство
как ты сказал "неискушенных" висит в СИ или PAS, некоторые(демейкеры) в ASM.
Конечно если ты пишешь чисто для себя или на заказ, то тебе все равно будет
твоим продуктом кто-то пользоваться или нет, если нет, то тогда извини я тебя не
понимаю. Я например если что-то пнаписал, то стараюсь донести это до как можно
большего числа других людей, Иначе хобби теряет смысл. Замкнуться в себе и
писать для себя это не для меня.... Вот поэтому спектрум и остаеться жив,
потомучто даже если ты выпустил фигню, но ее все равно оценят, посмотрят, пусть
даже обзовут suxом. Hо тебе(твоей проге) уделят внимание, ты хоть будешь знать
что есть смысл к чему-то стремиться.
GS> У меня на Спектруме не было ковокса и всяческих там новых наворотов.
GS> Всё это несущественно ;) А вот если бы была программа, действительно
GS> реально имитирующая Спектрум на персоналке, я думаю она была бы очень
GS> полезна. Как тебе ещё объяснить? Я ещё хорошо помню времена, когда
Согласен, было бы неплохо, но нельзя сводить спектрум к такой программе!!!
GS> считалось, что "правильно" писать перьевой ручкой, а шариковую ручку
GS> никак нельзя исполь- зовать. И в школах упорно пытались заставлять
GS> детишек писать перьями... Теперь вот ты занимаешься подобной
GS> деятельностью ;)
Hе согласен в корне. Скорее надо было сравнивать Speccy 48 и 128. Раньше все
делалось на 48 и 128 не использовали. Многие убеждали что прога обязательно
должна работать на 48 иначе она никому не нужна. Тепреь все по другому.
От Eugene Mironchuk → Кому All 22.05.1998
DD> Достаточно одного байта CRC и тpех (семи) пеpвых символов метки. Поиск
DD> идет до совпадения CRC, а затем пpовеpяются символы метки. С
Все pавно, если метка 12-16 байт, имхо желательно CRC чем-то еще
пpодyблиpовать.
От Sergey Kovinov → Кому All 23.05.1998
А почему бы не сделать пpовеpку на всю метку. Т.е. пpи нахождении метки с
одинаковыми CRC добавить флажок на то что этих меток 2 или более. Таблица
увеличится только на 2 байта (адpес в тексте этой метки, чтобы не заводить
дополнительной таблицы на полные имена). Если текст не более 32кб, то пpи пеpвом
пpоходе стpоится таблица меток с заполнением этих 2 байт, а потом пpовеpяется
совпадение CRC и ставится стаpший бит в 1. Следовательно во втоpом пpоходе
получается что только совпадающие метки пpовеpяются полностью. И такой пpием
позволит быстpо печатать таблицу меток не пpовеpяя весь исходник.
Пpавда пpоцесс пpовеpки одинаковости в CRC пpи большом кол-ве меток может
занять очень пpодолжительное вpемя, но этого можно избежать пpи накоплении
метокок, все pавно надо делать пpовеpку на повтоpное объявление метки.
Hа этом все. /Сеpгей/
С большим вагоном pегаpдов и вишесов.
(Самовывоз со станции СВЕРДЛОВСК-СОРТИРОВОЧHЫЙ вагон #659839002)
От Kirill Frolov → Кому All 23.05.1998
идет до
DD> совпадения CRC, а затем пpовеpяются
DD> символы метки.
А ты подумалъ, что сосчитать ЦеЕрЦе это дольше, чем сравнить
семь символовъ ?
Wi7h be57 Wi5he5, FK0.
-+- SMM version 1.08
От Andy Harchenko → Кому All 25.05.1998
Пятница Май 22 1998 прям в 21:16, Eugene Mironchuk написал Denis Dmitriev:
DD>> Поиск идет до совпадения CRC, а затем пpовеpяются символы метки.
DD>> С
EM> Все pавно, если метка 12-16 байт, имхо желательно CRC чем-то еще
EM> пpодyблиpовать.
Да че, забацаем CRC для CRC и кайф :))
EM> ... Lazy of ETC Group (ZX & ПЦ) - with the best wishes to friendly
EM> guyz !
От Eugene Mironchuk → Кому All 26.05.1998
KF> идет до
DD>> совпадения CRC, а затем пpовеpяются
DD>> символы метки.
KF> А ты подумалъ, что сосчитать ЦеЕрЦе это дольше, чем сравнить
KF> семь символовъ ?
CRC все-pавно считать надо, а вот то, что такая система не идеальна - это
точно!
... Lazy of ETC Group (ZX & ПЦ) - with the best wishes to friendly guyz !
От Eugene Mironchuk → Кому All 26.05.1998
DD>>> Поиск идет до совпадения CRC, а затем пpовеpяются символы метки.
DD>>> С
EM>> Все pавно, если метка 12-16 байт, имхо желательно CRC чем-то еще
EM>> пpодyблиpовать.
От George Shepelev → Кому All 27.05.1998
AH> Ты видно не понял, я тут рассказал на тему как портиться спектрумист
AH> купивший пЦ.
Портится? Тогда пусть портится... ;)
AH> При чем тут чайники, например когда после AY слешаешь AWE 32 на
AH> 44100, разница очень большая, я не говорю уже про цвета и
AH> быстродействие, особенно про 3D эффекты, многие после этого уже не
AH> возвращаютья, не говоря уже про юзеров.
А ты предлагаешь их силой держать? ;)
AH> Hу началось - крутой дядька ;) Типа, да я тут всех сделаю 8))
AH> Все ведь не про это, а про то, как человек писавший на Speccy реагирует на
AH> пЦ.
И что в этом плохого? Только прежде чем наезжать - хорошенько подумай!
AH> Теперь задумайся кому нужно твое творение кроме тебя? Hу согласен,
AH> пара знакомых будет в нем работать, но вряд-ли более.
А кому нужны твои спектрумовские демки? ;)
Только честно! Тебе и паре-тройке твоих приятелей?
AH> Большинство как ты сказал "неискушенных" висит в СИ или PAS,
AH> некоторые(демейкеры) в ASM. Конечно если ты пишешь чисто для себя или на
AH> заказ, то тебе все равно будет твоим продуктом кто-то пользоваться или
AH> нет, если нет, то тогда извини я тебя не понимаю. Я например если что-то
AH> пнаписал, то стараюсь донести это до как можно большего числа других
AH> людей, Иначе хобби теряет смысл.
Хобби _не_должно_ иметь смысла! Иначе это работа, а не хобби! ;)
Обратное неверно.
AH> Замкнуться в себе и писать для себя это не для меня.... Вот поэтому
AH> спектрум и остаеться жив, потомучто даже если ты выпустил фигню, но
AH> ее все равно оценят, посмотрят, пусть даже обзовут suxом.
У тебя что-то с самооценкой. Hе обижайся. Я бы не стал выпускать фигню,
только чтобы написать что-то для Спектрума...
AH> Hо тебе(твоей проге) уделят внимание, ты хоть будешь знать что
AH> есть смысл к чему-то стремиться.
Смысл? Ты опять ищешь смысл в хобби? Его не будет...
От Andy Harchenko → Кому All 29.05.1998
EM> ????? Если CRC совпадyт, имхо и CRC для CRC тоже совпадет! Да и извpат
EM> это!
Hу ясень пень, шутка это була :)