User Tag List

Страница 8 из 15 ПерваяПервая ... 456789101112 ... ПоследняяПоследняя
Показано с 71 по 80 из 146

Тема: DEB - ассемлер нового поколения...

  1. #71

    Регистрация
    19.02.2005
    Адрес
    Украина, Одесса
    Сообщений
    124
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Wink Идеи все же супер!

    Цитата Сообщение от Robus
    Низкий поклон, Всем !

    Давно читаю эту рубрику и не очень понимаю что значит "нового поколения" ? Это асм занимающий в памяти НОЛЬ байт ???

    Сколько помню себя, для меня в асме были главные два пункта 1.Качество компиляции, 2.Скорость компиляции ! Поэтому я давно колебался между TASM'омо и ALASM'ом, но когда узнал, что в аласме из-за однопроходности получается множество проблем, так и остался в TASM'е ... А вообще-то, всё, что мы делали с ребятами, так это просто переделывали TASM на 512 и компилировали любых размеров файлы ... Мне кажется, что стоит на этом поставить акцент ... Поскольку каждый из нас пишет под 128, и если у него отобрать хотя бы одну страничку, то будет много расстройств. А фреймовый скрол, конечно, велеколепная вещь, но только не в ущерб памяти.

    Когда-то я писал музыкальный редактор MASON, который работал под SonDrive. И ради лишних килобайт занимался извращениями, например подгружал кусок кода для загрузки инструментов, после выгружал его, загружая на его место редактор. Может и тут стоет так сделать, например на место меток раздекранчить фреймовый скрол, да и сам редактор, а после на него компилировать таблицу меток ?

    Извеняюсь а свои пять копеек ... Но всё же память на Speccy, это драгоценная вещь, а особенно когда ебе 70 =) шутка ...
    Круто! Я не догодался! Вот вам и КЛАССНЫЕ советчики! Сделаем так! Завтраже займусь прогой генерации скрола вверх/вниз! Спасибо! побольше бы таких!
    Правда будет проблемка! А если ты захочешь узнать по какому адресу находится та или иная метка ? А тут ее уже после компиляции забила прога скрола ? Подумаем как можно выкрутится...
    Последний раз редактировалось ASMAN; 23.03.2005 в 22:23.

  2. #72

    Регистрация
    19.02.2005
    Адрес
    Украина, Одесса
    Сообщений
    124
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Wink Проекты... удобная вещь!

    Цитата Сообщение от elf/2
    ну наконец-то
    тогда по мотивам поста breeze'а на тему проектов:
    1. файл проекта это обычный текстовый файл (а почему нет) который содержит:
    a. список всех исходников использующихся при сборке с указанием в какую страницу чего грузить + текущая строка/символ
    b. настройки оболочки специфичные для данного продукта, например: сколько памяти отдать под метки, клавиатурные макросы, etc
    2. при загрузке этого файла в асм, файл парсится и все файлы из 1.a загружаются куда надо + оболочка/асм настраиваются в соответствии с 1.b
    3. ясен пень что в любой момент можно сохранить текущее состояние оболочки/асма в виде того самого файла проекта.
    4. в принципе там же можно хранить всякие текстовые файлы типи readme, what's new, todo (при условии что редактор достаточно универсальный)
    Непонятки:
    1.а. "+ текущая строка/символ" что имеется ввиду ?
    b. как именно будут выглядеть эти настройки?
    Все остальное понятненько...
    Наталкивайте и реализуем...

  3. #73

    Регистрация
    19.02.2005
    Адрес
    Украина, Одесса
    Сообщений
    124
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Cool Новости...

    Вот тут я ж потихоньку делаю асм...
    Сделана загрузка конфига и настройка шрифта.
    Нарисованы 9 FONT'ов: FONT64, FONT64E, FONT64A, FONT42, FONT42EB, FONTXX, FONTXXE, FONTXXA и FONTXXEB

    Как и обещал вот ВАМ возможности... это еще не все! Все сразу вспомнить не могу...
    Вложения Вложения
    Последний раз редактировалось ASMAN; 23.03.2005 в 22:44.

  4. #74

    Регистрация
    14.01.2005
    Адрес
    N.Novgorod
    Сообщений
    803
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ASMAN
    Непонятки:
    1.а. "+ текущая строка/символ" что имеется ввиду ?
    т.е. то место где стоял курсор при последнем редактировании этого файла

    Цитата Сообщение от ASMAN
    b. как именно будут выглядеть эти настройки?
    а я откуда знаю твои настройки, тебе и выбирать формат хранения

  5. #75

    Регистрация
    19.02.2005
    Адрес
    Украина, Одесса
    Сообщений
    124
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Wink

    Цитата Сообщение от elf/2
    т.е. то место где стоял курсор при последнем редактировании этого файла


    а я откуда знаю твои настройки, тебе и выбирать формат хранения
    Понятненько! Подумаем...

  6. #76

    Регистрация
    04.03.2005
    Адрес
    Ukraine, Kiev
    Сообщений
    792
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Talking

    Снова низкий поклон !!!

    Цитата Сообщение от ASMAN
    Круто! Я не догодался! Вот вам и КЛАССНЫЕ советчики! Сделаем так! Завтраже займусь прогой генерации скрола вверх/вниз! Спасибо! побольше бы таких!
    Правда будет проблемка! А если ты захочешь узнать по какому адресу находится та или иная метка ? А тут ее уже после компиляции забила прога скрола ? Подумаем как можно выкрутится...
    Вообще-то, если уж смотреть совсем в корень проблемы, то можно пойти очень неординарным путём ... Может это натолкнёт тебя на новые мысли ...

    Попробуй сделать моментальную компиляцию ... То есть, если кто-то пишет JP Start, то так и сохраняешь 195,lo,hi ... Только Lo/Hi, будет указывать на таблицу меток, от которой никак не уйти. Конечно тогда возникают трудности с ремарками ... Но и тут можно обойти проблему, просто сделай ещё один буфер, где будут лежать ремарки а заодно и DB, с указанием на строку, где её набивали ... Я понимаю, что редактирование такого извращённого текста будет сложным, но экономным. На встречу этой идеи могу предложить другой метод редактирования текста, что ускорит обработку редактирования в тысячи раз, а если быть точным, то по сути в бесконечность ... Представь себе, что у тебя есть кусок памяти в 40000 байт, куда загружен текст в конец этого блока. При нажатии вниз, ты всего-то переносишь в начало блока строку. Ежели кто-то набивает текст, то ты просто в конец текущей строки добавляешь байты (текст). Просто человек при редактировании всё равно пользуется переходом вверх/вниз, а тебе всего-то нужно перенести пару байт соответствующей строки.

    00000 ... ORG 16384
    00002 ... LD HL,16384
    00005 ... LD DE,16385
    00008<--- Тут курсор
    39992 ... LD BC,6911
    39995 ... LD (HL),L
    39996 ... LDIR
    39998 ... DI
    39999 ... HALT

    Ежели кто-то нажал вниз будет:

    00000 ... ORG 16384
    00002 ... LD HL,16384
    00005 ... LD DE,16385
    00008 ... LD BC,6911
    00011<--- Тут курсор
    39995 ... LD (HL),L
    39996 ... LDIR
    39998 ... DI
    39999 ... HALT

    То есть, по-сути, всё, что остаётся это просто высветить текст, или перенести его скроллом, и высветить только одну строчку, которую редактируем !

    Конечно я утрировал, поскольку там есть и ORG, его то же нужно как-то закодировать, но это дело техники ... Если тебя это заинтересовало, то могу дать уже готовый текстовый редактор, который я делал в 94-ом году. Там, кстати, сделан совершенно любой шрифт по X и Y, только нарисовать и всё. Причём, каждая буква может быть своего размера. В турбо, при условии, что высота шрифат 2 пиксела, получается один фрейм, при скроллировании. Если взять фонт высостой в 6 пикселей, то получается один фрейм и без турбо. Там применён этот метод редктирования, но я совсем не помню, сколько он при этом жрёт памяти, но один фрейм гарантирую. Я всегда свои тексты набивал в нём, поскольку очень люблю один фрейм !!!
    AAA когда меня режут, я терплю, но когда дополняют, становится нестерпимо.

  7. #76
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #77

    Регистрация
    14.01.2005
    Адрес
    N.Novgorod
    Сообщений
    803
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Robus
    Попробуй сделать моментальную компиляцию ... То есть, если кто-то пишет JP Start, то так и сохраняешь 195,lo,hi ... Только Lo/Hi, будет указывать на таблицу меток, от которой никак не уйти.
    похоже не формат текста в сторме. только там авторы пошли дальше: они в таком случае даже 195 не хранят
    хотя метки в тексте хранятся как текст (правда сильно перекодированный). а вот числа именно так, плюс 1 байт с указанием системы счисления (hex, dec, bin, char)

  9. #78

    Регистрация
    19.02.2005
    Адрес
    Украина, Одесса
    Сообщений
    124
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Thumbs up Редактирование текста... попытаемя сделать легко и в один скролл!

    Цитата Сообщение от Robus
    Снова низкий поклон !!!



    Вообще-то, если уж смотреть совсем в корень проблемы, то можно пойти очень неординарным путём ... Может это натолкнёт тебя на новые мысли ...

    Попробуй сделать моментальную компиляцию ... То есть, если кто-то пишет JP Start, то так и сохраняешь 195,lo,hi ... Только Lo/Hi, будет указывать на таблицу меток, от которой никак не уйти. Конечно тогда возникают трудности с ремарками ... Но и тут можно обойти проблему, просто сделай ещё один буфер, где будут лежать ремарки а заодно и DB, с указанием на строку, где её набивали ... Я понимаю, что редактирование такого извращённого текста будет сложным, но экономным. На встречу этой идеи могу предложить другой метод редактирования текста, что ускорит обработку редактирования в тысячи раз, а если быть точным, то по сути в бесконечность ... Представь себе, что у тебя есть кусок памяти в 40000 байт, куда загружен текст в конец этого блока. При нажатии вниз, ты всего-то переносишь в начало блока строку. Ежели кто-то набивает текст, то ты просто в конец текущей строки добавляешь байты (текст). Просто человек при редактировании всё равно пользуется переходом вверх/вниз, а тебе всего-то нужно перенести пару байт соответствующей строки.

    00000 ... ORG 16384
    00002 ... LD HL,16384
    00005 ... LD DE,16385
    00008<--- Тут курсор
    39992 ... LD BC,6911
    39995 ... LD (HL),L
    39996 ... LDIR
    39998 ... DI
    39999 ... HALT

    Ежели кто-то нажал вниз будет:

    00000 ... ORG 16384
    00002 ... LD HL,16384
    00005 ... LD DE,16385
    00008 ... LD BC,6911
    00011<--- Тут курсор
    39995 ... LD (HL),L
    39996 ... LDIR
    39998 ... DI
    39999 ... HALT

    То есть, по-сути, всё, что остаётся это просто высветить текст, или перенести его скроллом, и высветить только одну строчку, которую редактируем !

    Конечно я утрировал, поскольку там есть и ORG, его то же нужно как-то закодировать, но это дело техники ... Если тебя это заинтересовало, то могу дать уже готовый текстовый редактор, который я делал в 94-ом году. Там, кстати, сделан совершенно любой шрифт по X и Y, только нарисовать и всё. Причём, каждая буква может быть своего размера. В турбо, при условии, что высота шрифат 2 пиксела, получается один фрейм, при скроллировании. Если взять фонт высостой в 6 пикселей, то получается один фрейм и без турбо. Там применён этот метод редктирования, но я совсем не помню, сколько он при этом жрёт памяти, но один фрейм гарантирую. Я всегда свои тексты набивал в нём, поскольку очень люблю один фрейм !!!
    Супер! Прибей файлик! Я посмотрю! Мне какраз нужен сейчас отличный скролл...

  10. #79

    Регистрация
    19.02.2005
    Адрес
    Украина, Одесса
    Сообщений
    124
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Smile Кодировка... она нужна!

    Цитата Сообщение от elf/2
    похоже не формат текста в сторме. только там авторы пошли дальше: они в таком случае даже 195 не хранят
    хотя метки в тексте хранятся как текст (правда сильно перекодированный). а вот числа именно так, плюс 1 байт с указанием системы счисления (hex, dec, bin, char)
    Так у меня почти все команды занимают 3 байта! Так что проблемы с кодом не будет!

  11. #80

    Регистрация
    09.02.2005
    Адрес
    Новосибирск
    Сообщений
    933
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    19
    Поблагодарили
    19 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    по-моему не упомянуты (а должны бы быть) следующие вещи:

    1. IFcond ... [ELSE ...] ENDIF -> автоматически должно превращаться в jp/jr Ncond,@1 ... jp/jr @2 : @1: ... @2: или без ветки ELSE -> jp/jr Ncond, @1 ... @1:
    (При этом с оптимизацией перехода - не только jp->jr, но и defb 0feh, чтобы обойти 1 байт, или если обойти надо call addr, то просто использовался бы call cond,addr)

    2. директивы условной компиляции IF(выражение0) ... [ ELSEIF(выражение1) ... ]... [ ELSE ... ] ENDIF

    3. циклы условной компиляции FOR переменная=список ... ENDFOR и FOR переменная=выражение1 TO выражение2 [STEP выражение3] ... ENDFOR

    4. (не знаю точно, что есть DUP / EDUP, я использовал конструкцию REP[EAT] выражение ... ENDREP - возможно это то же самое)

    5. Макросы (я наверное просто пропустил?) должны иметь параметры передаваемые по списку и по имени. Например DoSomth A,Cold,Beta,Reg2=BC

    6. Структуры (или это подразумевалось?). Конечно, ясно, что можно задать константы Field1 EQU 0: Field2 EQU 2:... Но гораздо цивилизованней будет MyStruct STRUCT:Field1 DEFW ?:Field2 DEFB ?:... ENDS и заставить программиста писать не просто (IX+Field1), а (IX+MyStruct.Field1) или LD HL,MyStruct.Field2 (хотя строгость можно понизить и опционально разрешать писать LD HL,Field2 - не все программеры любят строгости).

    7. Возможность задать набор констант перенумерацией начиная с некоторого значений (аналог enum). (Нет, я понимаю, можно написать A1 EQU 1:A2 EQU A1+1 :A3 EQU A1+2... потом просто меняем A1 и вуаля, но не проще ли написать ENUM A1=1,A2,A3,...

    Свой встроенный в EmuZWin асм буду доводить до ума, все это конечно сделаю (а может и еще что-нибудь).

Страница 8 из 15 ПерваяПервая ... 456789101112 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •