User Tag List

Показано с 1 по 10 из 25

Тема: Чья фишка? (приём программирования)

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    HardWareMan
    Гость

    По умолчанию

    Denn, ну я когда ED^7000 разжевывал на Специалисте под Микроном (хотел поменять местами действия РУС/ЛАТ и СТР, в редакторе РУС/ЛАТ выбирал регистр а СТР язык, что не логично ваще) сделал проще. Мы как раз только закончили подключение Консула к Спецу, я просто взял и скормил Консулу весь листинг из дизасма. Потом посидел пару дней над листингом, делая пометки и, в итоге, в редакторе текстов Практик (да-да, редактировать кишки редактора им же самим ) делал соответствующие исправления. Затем собрал ассемблером и все работало. Ну а дальше дело техники. Кстати, сборка 2КБ кода (~28КБ текста) занимает примерно минут 5.

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

  3. #2

    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,235
    Спасибо Благодарностей отдано 
    490
    Спасибо Благодарностей получено 
    995
    Поблагодарили
    642 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    да-да, редактировать кишки редактора им же самим )


    У меня ещё веселее было. Я первый текстовый редактор писал в... машинных кодах! А потом на этом самом машиннокодовом редакторе писал (уже на ассме, разумеется) другой текстовый редактор, более продвинутый А потом, на этом продвинутом написал ещё более навороченный. Получилась такая цепочка саморождения текстовых редакторов

    - - - Добавлено - - -

    Цитата Сообщение от barsik Посмотреть сообщение
    Но всё-таки для спорта разумно выбирать интересные задачи (творчество).
    Разумеется, дизассемблирование это ни разу не творчество, но обучаться программированию нужно как-то было, вот и приходилось разбираться в чужих программах. Частенько конечно просто в кодах, но когда что-то масштабное и сложное, то лучше дизассемблировать. Это сейчас есть интернет, куча информации, что аж уже и не интересно, а раньше не то что "железный занавес", а я бы сказал глухой бункер был, программы набирались в машинных кодах, а некоторые дампы приходилось аж переписывать вручную в библиотеках!

    - - - Добавлено - - -

    Цитата Сообщение от barsik Посмотреть сообщение
    интерактивная IDA ещё удобнее, т.к умнее и спасает от многих ошибок. При интерактивном дизассемблировании большой плюс в том, что распознав назначение подпрограмм или участков кода, мы сразу назначаем осмысленные имена меток, в итоге получается почти исходник. В итоге, то что примитивным дизассемблером делается за многие дни каторжного труда в IDA делается за пол часа.
    Я не хаккер, поэтому в профессиональных системах дизассемблирования не нуждаюсь. Чужой код использую исключительно в образовательных целях. Например, разбирался с ВГ93 исключительно посредством анализа кода причинных мест SPDOS.

    - - - Добавлено - - -

    Цитата Сообщение от Eltaron Посмотреть сообщение
    Denn, понятно, что этот прием усложняет дизассемблирование. Но вряд ли автор ставил перед собой такую задачу.
    Действительно вряд ли. Скорее банальная экономия трёх байт при каждом выводе сообщения. Но красиво! Я бы вряд ли до такого сам додумался.
    Вспомнилось, как когда-то было откровением нетрадиционное использование стека, кажется впервые я это встретил в п/п скроллинга экрана. Причём выяснилось вот как, сначала я написал свой скроллинг и с удивлением обнаружил, что монитор делает это в разы быстрее! Заинтересовался, начал разбираться (тогда ещё в машинных кодах), по-началу вообще не понял как это работает! )) Потом, когда "дошло", то прифигел конкретно )) Не иначе как Боги писали такой код!
    Вообще, по молодости много было таких "открытий", славное было время.
    Сейчас полная скукота: гугл, запрос, вот тебе всё на блюдечке. Желание что-то думать (и изобретать) отбивает напрочь. Времена тупой копипасты и собирания из готовых "кубиков" (не вникая). И в тоже время все всё знают, потому что почитали в интернетиках, но никто ничего не делает, потому что никому ничего не интересно и не нужно (кроме как читать эти самые интернетики ).
    Последний раз редактировалось Denn; 29.07.2017 в 16:22.
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

  4. #3

    Регистрация
    05.10.2016
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,080
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Denn
    Не иначе, как Боги писали такой код !
    Нет не боги. Это был А.Ф.Волков.

    А для ещё большей экономии байтов при выводе текстов в 7-ми битной кодировке удобно в качестве стоп-сигнала использовать не байт 0, а выставленный старший бит символа. Для этого достаточно чуть-чуть доработать п/п-мму F818 или написать свою п/п-мму MSSGH. Это используется во многих иностранных компьютерах, а в ассемблерах для них есть специальный оператор, который задаёт строку, как DEFB, но дополнительно устанавливает старший бит в последнем символе строки. В ассемблерах, дизассемблерах и компиляторах ЯВУ, т.е везде, где большие таблицы, это даёт экономию в килобайты.
    Последний раз редактировалось barsik; 29.07.2017 в 17:48.

  5. #4

    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,235
    Спасибо Благодарностей отдано 
    490
    Спасибо Благодарностей получено 
    995
    Поблагодарили
    642 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от barsik Посмотреть сообщение
    Нет не боги. Это был А.Ф.Волков.
    Когда ходишь пешком под стол (я тогда был школьник), то для тебя какой-то дядя (особенно которого опубликовали в журнале) и есть бог.


    Цитата Сообщение от barsik Посмотреть сообщение
    А для ещё большей экономии байтов при выводе текстов КОИ-7 удобно в качестве стоп-сигнала использовать не байт 0, а выставленный старший бит символа. Для этого достаточно чуть-чуть доработать п/п-мму F818 или написать свою п/п-мму MSSGH.
    Я тоже так думал, но на практике экономия не получается. Только если в программе "100500" коротких текстов, причём все только на одном языке.
    Подпрограмма F818h уже есть в мониторе, тобишь её код места не занимает, а MSSGH нужно писать свою, и это отнюдь не пара-тройка байт. В итоге код этой п/п больше, чем кол-во сэкономленных нуль-терминальных байтов во всех текстовых сообщениях.


    Цитата Сообщение от barsik Посмотреть сообщение
    Это используется во многих иностранных компьютерах
    Ещё бы, там сам бог велел - у них же нет русских букв
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

  6. #5
    HardWareMan
    Гость

    По умолчанию

    Цитата Сообщение от Denn Посмотреть сообщение
    Я тоже так думал, но на практике экономия не получается. Только если в программе "100500" коротких текстов, причём все только на одном языке.
    Таблица токенов практически во всех барсиках под ВМ80 так и устроена. И еще таблица сообщений об ошибках.

  7. #6

    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,235
    Спасибо Благодарностей отдано 
    490
    Спасибо Благодарностей получено 
    995
    Поблагодарили
    642 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    Cool

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    Таблица токенов практически во всех барсиках под ВМ80 так и устроена.
    Так барсики - они ж все нерусские в девичестве. Кроме одного ))
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

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

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

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

Похожие темы

  1. чья это AY композиция?
    от lokky в разделе Музыка
    Ответов: 2
    Последнее: 17.05.2009, 18:49
  2. В чем фишка ?
    от F0lken в разделе Несортированное железо
    Ответов: 9
    Последнее: 17.05.2007, 22:54
  3. [FWD] Фишка
    от Alexey Ivanov (500:95/100) в разделе Зарубежные компьютеры
    Ответов: 2
    Последнее: 04.05.2006, 19:12

Ваши права

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