User Tag List

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

Тема: Мнемоники i8080 vs Z80

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

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

    По умолчанию

    Цитата Сообщение от Denn Посмотреть сообщение
    Ловлю себя на том, что разнообразие интеловских мнемоник зачастую работает как комментарии к коду: смотрю на листинг и сразу понимаю о чём речь, где инициализация параметров цикла (LXI..), а где тело (LDAX/STAX/MOV), причём по последовательности последних сразу понятно из "базового" [HL] идёт взятие данных (MOV - первый) или из какого-то другого регистра (первый LDAX..). Вплоть до того, что по отличию вводной "LXI.." или "LHLD.." мгновенно понимаю какая у меня подпрограмма! Если бы было сухое "LD..", то пришлось бы каждый раз вникать.
    Ну вот я уже говорил ранее: в интельных мнемониках программу можно читать. В зилоговских ее надо дополнительно распарсивать. Так что разрабы были умные, вопреки стенаниям barsik'а, они заботились о программистах тоже, ибо чтение листинга это тоже в какой-то степени ассемблирование. И если программа бездушная возьмет скоростью, то живые мозги уже начнут спотыкаться (и требовать обязательного тщательного комментирования).
    Цитата Сообщение от Denn Посмотреть сообщение
    Портянка из визуально совершенно одинаковых LD х,х лично для меня сродни дампу машинных кодов. Впрочем, в последних я когда-то программировал, и там как раз визуально таки были отличия (все эти конструкции "21 хх хх", "С3 хх хх", "CD хх хх", "E5 D5 C5" и т.п. читаются на раз.
    Я кстати тоже, когда на любой хекс смотрю сразу глаза цепляются и синхронизируются к командам ВМ80, даже там, где это не надо.

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

  3. #2

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

    По умолчанию

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    даже там, где это не надо.
    Где не надо, там обычно нет привычных конструкций, так что глазу особо не за что цепляться... /-)
    Даже если вижу "FE 0D", то глаз уже автоматом "просканировал" окружение и не нашёл там подходящего контекста (как правило это С2 хх хх опосля и CD 03 F8 до..)

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

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    заботились о программистах тоже, ибо чтение листинга это тоже в какой-то степени ассемблирование.
    Имхо, скорее всего действительно уши первых мнемоник растут из "упрощения жизни" ассемблеру, а не для удобства программиста. Но "так случилось", что человекам (некоторым) это ещё и удобнее
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

  4. #3
    HardWareMan
    Гость

    По умолчанию

    Цитата Сообщение от Denn Посмотреть сообщение
    Где не надо, там обычно нет привычных конструкций, так что глазу особо не за что цепляться... /-)
    Даже если вижу "FE 0D", то глаз уже автоматом "просканировал" окружение и не нашёл там подходящего контекста (как правило это С2 хх хх опосля и CD 03 F8 до..)
    Это потому, что ты либо не писал что-то вне экологии Ориона/РК/специалиста для i8080/Z80, либо даже просто не ковырял "тяжелые" программы для упомянутых ЛК. Вот например вполне осмысленный код:

    Совпадение? Не думаю! Именно. Как ты думаешь, чей это код (подсказка на скрине)?

  5. #4

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

    По умолчанию

    HardWareMan, как я вижу выделенное на скрине. С9 - это RET, 47 не помню, хотя наверное выделено неверно: там 01 С9 47, т.е. в ВС или в DE грузим 47С9h. Далее из 4000h читаем в аккум, последний сдвигаем вероятно вправо (делим пополам, если по-русски), потом по какой-то кондиции флага <C> делаем RET, далее МУВ А,Б, затем CALL 1DAh и JMP 0B35h. Ещё что-то помню даже

    А писал я только для Орионов и для Синклера-48. "Читал" ещё РК86, Партнёр, АОН на ВМ80, ну и синклеровское всякое.
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

  6. #5
    HardWareMan
    Гость

    По умолчанию

    Цитата Сообщение от Denn Посмотреть сообщение
    HardWareMan, как я вижу выделенное на скрине. С9 - это RET, 47 не помню, хотя наверное выделено неверно: там 01 С9 47, т.е. в ВС или в DE грузим 47С9h. Далее из 4000h читаем в аккум, последний сдвигаем вероятно вправо (делим пополам, если по-русски), потом по какой-то кондиции флага <C> делаем RET, далее МУВ А,Б, затем CALL 1DAh и JMP 0B35h. Ещё что-то помню даже
    Почти. Да, я 01 не выделил.
    LXI B,47C9H
    LDA 4000H
    RRC
    RST 1
    MOV A,B
    CALL 01DAH
    JMP 0B35H
    Вполне осмысленный код, верно? А ведь это М68000, кусок в кишках Titan - Overdrive Megademo.

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

    Цитата Сообщение от Error404 Посмотреть сообщение
    ёптель, так об этом я и писал Х страниц треда ранее: тупое упрощение ассемблирующей программы - вот причина особенностей мнемоник Интел - все переложить на программиста, он таковский, "жить захочет и не так раскорячится". Десяток мнемоник загрузки у 8080 это еще оказывается у них был прогресс: научились обрабатывать операнды из второго столбика , у 8008 их вон было пару сотен. Рукалицо.
    Конечно. Чего его жалеть то? Сидит, нихрена не делает, только штаны протирает. ИЧСХ, за полвека почти ничего не изменилось.

  7. #6

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

    Arrow

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    Почти. Да, я 01 не выделил.
    LXI B,47C9H
    LDA 4000H
    RRC
    RST 1
    MOV A,B
    CALL 01DAH
    JMP 0B35H
    Вполне осмысленный код, верно?
    Явки 47C9H и 4000H не орионовские, так что для меня смысла мало


    Цитата Сообщение от HardWareMan Посмотреть сообщение
    А ведь это М68000
    Класс! Я оказывается понимаю проц, который не знаю
    Последний раз редактировалось Denn; 14.12.2016 в 11:16.
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

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

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

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

Похожие темы

  1. I8080 TO Z80 SOURCE TRANSLATOR
    от Sergey в разделе Программирование
    Ответов: 33
    Последнее: 25.05.2025, 15:08
  2. Ответов: 72
    Последнее: 08.12.2019, 00:36
  3. Совместимость Z80 и i8080 (580ВМ80)
    от Dmitry Dubrovenko в разделе Для начинающих
    Ответов: 50
    Последнее: 08.05.2016, 09:54
  4. Код эмуляции i8080 на С
    от medvdv в разделе Эмуляторы отечественных компьютеров
    Ответов: 15
    Последнее: 27.03.2015, 03:43
  5. Эмулятор i8080
    от Higgins в разделе Разное
    Ответов: 2
    Последнее: 20.05.2011, 11:43

Ваши права

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