Важная информация

User Tag List

Страница 3 из 16 ПерваяПервая 1234567 ... ПоследняяПоследняя
Показано с 21 по 30 из 154

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

  1. #21
    Guru Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    755
    Поблагодарили
    353 сообщений
    Mentioned
    86 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    OK, расскажу как я изучаю процессоры, для которых потом приходится писать на ассемблере.
    - берется полный мануал ISA (Instruction Set Architecture)
    - в Word-е составляется полная табличка всех инструкций, упорядоченная по бинарному коду, с разборкой всех полей и их возможных значений, а также зарезервированные опкоды
    - потом эта табличка копируется и автоматически упорядочивается по мнемоникам, получается вторая табличка

    Процесс занимает несколько дней, но в итоге составления такого табличного конспекта в памяти откладывается все - и какие инструкции, и с какими аргументами они могут работать, набор ресурсов архитектуры, флажки и прочее. И потом как-то не возникает вообще вопросов почему нельзя написать типа "mvi D, 258" (применительно к 8080). С этой точки зрения я считаю вариант мнемоник i8080 более полезным, он позволяет легче помнить обо всех этих особенностях архитектуры. Но, не всем такие тонкости нужны, многие просто не обращают на это вниманию, кодят себе, да и усе, без подробностей. Таким людям, наверное, удобнее мнемоники Z80. В-общем, некоторые любят механику, а некоторым коробку-автомат подавай. И те, и те - ездиют

  2. #22
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,404
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    598
    Поблагодарили
    444 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Vslav, коллега! Вот как я сделал для М68К.

  3. #23
    Guru Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    755
    Поблагодарили
    353 сообщений
    Mentioned
    86 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    Vslav, коллега!
    Анекдот в тему:

    Представь, что у тебя есть ценная мысль, и ты ее думаешь.
    Дальше представь, что у меня есть ценная мысль и я ее думаю.
    Допустим, мы с тобой поделились друг с другом своими ценными мыслями.
    Внимание, вопрос - сколько у нас с тобой стало ценных мыслей?
    Две? А вот и нет - одна. А почему? Да просто дураки думают всегда одинаково

    PS. Талмуд по 68К хороший, да

  4. #24
    Junior
    Регистрация
    28.11.2016
    Адрес
    г. Санкт-Петербург
    Сообщений
    9
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Господа, по-моему многие из вас (включая высокопоставленных лиц) откровенно путают котлеты с мухами! Наиболее существенное отличие мнемоник Z80 от 8080 заключается в том, что мнемоники Z80 упорядочены, а 8080 - нет. Упорядочивание заключается в том, что в мнемониках Z80 операция жёстко отделена от операнда, а в мнемониках 8080 всё смешано в одну кучу - и операция, и операнд(ы). В общем случае подмножество команд не однозначно соответствует подмножеству адресаций, а разработчики 8080 попытались "объять необъятное", смешав в одну кучу и команду, и метод(ы) адресации (кстати, сделано это было, как уже справедливо заметили, не в последнюю очередь для упрощения кода самого Ассемблера!). Как это у них получилось (хорошо или плохо) - своего мнения высказывать не буду, но очевидно, что полностью вместить операнд в мнемонику они не сумели или не решились, оставив некоторые операнды в поле операндов. Поэтому вся ваша дискуссия сводится не к религиозной борьбе, а лишь к спору о том, что логичнее: отделять мух от котлет или валить всё в одну кучу, хотя всё равно куч будет две, и во второй будут только мухи. Что в переводе на русский означает отделять ли команду от метода адресации или валить в одну мнемонику и команду, и адресацию, хотя всё равно у половины мнемоник остаётся дополнительное поле для адресации.

    P.S.: Я не знаю, сколько кода я написал в молодости, но третьей по счёту программой, которую я написал не за деньги, а для души, был кросс-ассемблер для Z80 под RT-11 на ДВК, однако написал я его в мнемониках 8080 именно потому, что в таком виде он пишется задней левой ногой без применения мозга.
    Всего доброго.
    Евгений.

  5. #25
    Super Moderator Аватар для Ewgeny7
    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    146
    Спасибо Благодарностей получено 
    76
    Поблагодарили
    51 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Дело не в мухах и котлетах, а просто появилсся лишний повод поболтать о близком и родном, что весьма ценится после информационного спама из телевизора, ИМХО

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

    Пошевелив очучениями, наверное соглашусь с SaNchez. Мнемоники и набор команд Z80 действительно заставляет призадуматься о "чуть высшей ступеньке в языке". Подобное же чувство было так же при ковырянии МС68к. Оба процессора очень хороши.
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

  6. #26
    Guru Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    755
    Поблагодарили
    353 сообщений
    Mentioned
    86 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Простой вопрос на засыпку. Берем старый не очень качественно сохранившийся печатный исходник.
    И встречаем там такое:
    Код:
    ld  A, B (или 8, видно на старой журнальной печати плохо)
    ld  A, D (или 0)
    И ломаем голову.
    В варианте 8080:
    Код:
    mvi  A, 8 (читаем однозначно как константу 8)
    mov A, D (читаем однозначно как имя регистра D)
    Вывод - мнемоники 8080 несут БОЛЬШЕ информации об инструкции. Обычно это не имеет особого значения, кому что нравится. Но вот для старых листингов - 8080 годится лучше.

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

    Цитата Сообщение от Ewgeny7 Посмотреть сообщение
    действительно заставляет призадуматься о "чуть высшей ступеньке в языке"
    Тогда Си - самый лучший ассемблер
    Последний раз редактировалось Vslav; 29.11.2016 в 16:40.

  7. #27
    Activist Аватар для cy6
    Регистрация
    27.04.2015
    Адрес
    г. Пенза
    Сообщений
    366
    Спасибо Благодарностей отдано 
    251
    Спасибо Благодарностей получено 
    53
    Поблагодарили
    30 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    Тогда Си - самый лучший ассемблер
    Так и есть, Си это высокоуровневый ассемблер с неограниченными возможностями. Пользоваться ассемблером приходится только из-за тупой оптимизации кода компилятором. Если бы придумать идеальный оптимизатор для Си, это был бы единственный ассемблер.
    А вот Си плюс, это уже полноценный язык.

    КР580 самый лучший процессор, свой, отечественный, пусть и немного стыренный.
    wtf

  8. #28
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,404
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    598
    Поблагодарили
    444 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    Вывод - мнемоники 8080 несут БОЛЬШЕ информации об инструкции. Обычно это не имеет особого значения, кому что нравится. Но вот для старых листингов - 8080 годится лучше.
    Информация для восстановления же! Такой встроенный ECC. И да, в журналах и всяких распечатках i8080 более устойчив к чтению.

  9. #29
    Super Moderator Аватар для Ewgeny7
    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    146
    Спасибо Благодарностей получено 
    76
    Поблагодарили
    51 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Давайте согласимся, что обычно проблема выглядит несколько иначе...
    В дампе кода, приведенного в журнале, непонятны сами хексы.
    0 или D? B или 8? А вот разночтения текста на ассемблере - таки пореже бывают.
    А вообще, зачем зацикливаться на таких "аварийных" случаях?
    Давайте уж быть оптимистами.

    Цитата Сообщение от cy6 Посмотреть сообщение
    КР580 самый лучший процессор, свой, отечественный, пусть и немного стыренный.
    Вот эти слова - безусловная личная правда. Я, каюсь, сам иногда держу в руке ВМ80А и ухожу куда-то в сказку про то, что могло бы быть, но не случилось...
    Мне этот процессор тоже очень дорог и лампово тёпл.

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

    Цитата Сообщение от Vslav Посмотреть сообщение
    Тогда Си - самый лучший ассемблер
    Си настолько же далек от железа, как партия от народа. Это не ассемблер.
    Но Си я пользуюсь для микроконтроллеров. Там уже пофиг на розовые сопли, главное - чтобы работало.
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

  10. #30
    Banned
    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,841
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    658
    Поблагодарили
    512 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    немоники 8080 несут БОЛЬШЕ информации об инструкции
    с таким же успехом они больше замыливают глаза
    больше трудностей в их запоминании
    они совершенно не поддаются последующему расширения набора команд процессора (без появления сотни других без полезных мнемоних)

    и вообще арм наше фсе
    четко видно что сделать с чем именно и куда все это потом деть
    а не то что пишешь по привычке xor a,c а оно те компилит xor a : xor c
    Последний раз редактировалось NEO SPECTRUMAN; 29.11.2016 в 21:44.

Страница 3 из 16 ПерваяПервая 1234567 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 72
    Последнее: 08.12.2019, 00:36
  2. I8080 TO Z80 SOURCE TRANSLATOR
    от Sergey в разделе Программирование
    Ответов: 31
    Последнее: 22.04.2018, 07:52
  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

Ваши права

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