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

User Tag List

Страница 2 из 16 ПерваяПервая 123456 ... ПоследняяПоследняя
Показано с 11 по 20 из 154

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

  1. #11
    Moderator
    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,577
    Спасибо Благодарностей отдано 
    61
    Спасибо Благодарностей получено 
    106
    Поблагодарили
    92 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    Что легче для мозга, выучить одно LoaD и тысячу практически бессистемных правил или: MOVe, MoVe Immediate, STore Accumulator indeXed, STore Accumulator, LoaD Accumulator indeXed, LoaD Accumulator и у каждой свое конкретное правило, указанное в названии? У меня именно такие слова и всплывают, когда я смотрю на мнемоники ВМ80. Я понимаю, что это придумывалось англоязычными людьми для англоязычных программистов, но это дает возможность читать программу, я уже это говорил тут на форуме. А сухое LD от Z80 не прочтешь особо. И да, ходило мнение, что разрабы Z80, которые как раз и прикладывали руку к i8080 в свое время, не смогли использовать мнемонику i8080 из-за патентов, так бы вы все сейчас по другому пели.


    И чего тут странного то? Наоборот все логично: MOVe Word, LoaD Immediate и так далее. Да та же SBIC - Skip Bit If Clear (логически Bit и If должны быть переставлены, но это не мешает, видимо ставка делалась на удобство произношения мнемоники). Программу можно читать!

    Я вижу тенденция у современных программистов просто зубрежка. Это понятно, каждый делает как ему удобно. Но кто из вас хоть раз пытался не просто выучить а вникнуть в ассемблер целевой системы? Я очень рад, что у ARMa тенденция сохранилась и их программу можно читать. Я даже очень быстро въехал в нее, с нулевым входом. Ewgeny7, ты же столько миникомпиков собрал и, самое главное, программки к ним понаписал. Неужели так и в чем не разобрался сам а тупо зубрил?
    Вот мы с тобой не первый раз это обсуждаем, и ты как не слышишь. Ну не хочу я вникать в то что там думали авторы мнемоник (что они думали на самом деле напишу ниже), если в результате мне вместо одной мнемоники надо помнить десяток с одинаковой логикой. Я не хочу помнить, что присвоение константы, переменной и адреса (если это натянуть на ассемблер) это у некоторых изобретателей три разных(!) операции (на самом деле их там не три у них, а больше). И это не из за глубоких смыслов, которых ты тут нарисовал, а тупо из-за того чтобы им не анализировать операнды команд, а переложить это на меня, программиста: чтобы я транслятору на вход готовенькое подавал и ему самому не вникать. А вот трансляторы Z80 это делать вынуждены, за что авторам тех мнемоник большое человеческое спасибо: у меня есть вещи поинтереснее для запоминания, чтем сто однотипных, но разных по написанию команд, и самое главное, я не буду это делать из-за чье-то лени (или непредусмотрительности, ибо как говорили предки "это хуже чем преступление - это ошибка").
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

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

    По умолчанию

    Error404, а ты не думал о том, что инженеры не только хотели "нагрузить" программиста, но и разгрузить (причем существенно) сам сборщик (не называю ассемблером, чтобы не было путаницы, но это и не компилятор)? Ведь когда процессоры вышли, программу для них можно было собрать либо вручную, либо на машине-предшественнике (который явно слабее), либо на самом же процессоре, что еще надо сделать сначала. И тут действительно, MOV/MVI парсятся гораздо проще (полноценный ассемблер Микрон в 2КБ умещается). Это тебе сейчас, спустя 30+ лет, имея под боком мощный PC и кроссплатформенный сборщик кажется, что рудимент. Ты сейчас вообще ничего можешь не помнить, юзай кроссплатформенный С, например. Сможет ли AVR собирать сам свои программы? Так что ты не прав, по поводу лени или непредусмотрительности. И я повторюсь: если бы не копирайты, то Z80 говорил бы на языке i8080, ведь не даром он совместим с ним.

    Ладно, это уже холивор, так что я завязываю дальше об этом трындеть. Давайте уже препарируем Апогей.

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

    По умолчанию

    Virtually all CP/M computers placed on the market since 1981 use the Z80 microprocessor. The Z80 actually runs all of the 8080 instructions but in addition there are more instructions unknown to the 8080. The extra instructions were designed for increased speed, easier programming, and more compact code. For this reason it is to your best advantage to program in Z80 code for CP/M even if you program for 8080.
    8080 (8080A) разработан в декабре 1973 года, содержит 5000 (5500) транзисторов и прогоняет 244 команды. Группа его разработчиков ушла из фирмы INTEL, основав фирму ZILOG и уже в марте 1976 года был разработан Z80, содержащий 8500 транзисторов и прогоняющий более 1000 команд. Фирма Intel в декабре 1976 ответила выпуском 8085, но это была последняя жалкая попытка противостоять Z80. Так появился Z80, процессор времён и народов.

    Система команд 8080 давно умерла. Процессор был снят с производства в начале 80-х и забыт, также как и его предок 8008. А система команд Z80 получила самое массовое распространие в мире среди 8-ми разрядок. Z80 захватил мир. Если сравнивать число произведенных кристаллов, то 8080 не составит и 0.001% от Z80 и его клонов. Его выпускают тиражами в десятки миллионов в год, в течение 40 лет. Многие ведущие фирмы производители ИМС выпустили более совершенные версии Z80 c адресацией выше 64К, с тактом в 40 МГЦ, а также огромное число однокристаллов с системой команд Z80. Причём все эти микросхемы производятся до сих пор и широко используются.

    ПО для компьютеров на 8080 не составляет и 10% от ПО для компьютеров на Z80. И почти всё имеет дату до 1982 года. Из фирменного ПО для 8080 есть только CP/M и несколько древних компилляторов ЯВУ. Компьютеры на КР580 имеются только в России и только здесь обитают программы для КР580.

    Не менее революционной оказалась и мнемоника ассемблера Z80. Любой программист, поработавший хоть один день в мнемонике Z80, уже никогда не возвращается к неудобной мнемонике INTEL. Поэтому даже те программисты, что делают ПО для КР580 используют мнемонику Z80, для чего в M80 используется ключ .Z80.
    NB: Даты выпуска CPU и числа транзисторов можете не оспаривать - здесь точнее, чем в WIKI сайта, т.к из иностранных источников, не из отечественных.

    Цитата Сообщение от Vladimir_S
    неудобство, а тем более нелогичность?
    Вопрос из серии "риторических" или из серии "хочу обсудить, и неважно что".

    Но нет проблем, давайте обсудим и такую ерунду.

    Насчёт удобный-неудобный, это субъективно. Кто как привык, тому так и удобно. Левшам удобна левая рука, мне нет. А вот насчёт логичный-нелогичный можно и разобраться. Используя логику.

    Может быть лишь два варианта.

    1. Мнемоника КР80 логичнее
    2. Мнемоника Z80 логичнее

    Вы сами прекрасно понимаете, что мнемоника Z80 намного логичнее. Это в Вас говорит "дух отрицания", заставляя защищать заведомо проигрышную позицию. В глубине души Вы и сами знаете, что мнемоника Z80 лучше и удобнее для программиста.

    Если Вы уверены в обратном, разместите в теме, где собираются программисты для Z80 утверждение, что мнемоника КР580 логичнее, чем мнемоника Z80. С интересом буду наблюдать, как Вас там, образно говоря, "заплюют и затопчут".

    Цитата Сообщение от error404
    лишние усилия, которые должен делать программист
    Именно потому. Одно дело, когда ты делаешь крошечную маленькую программку. А другое дело, когда ты полностью сосредоточен на сложном алгоритме и мозги постепенно "закипают". При этом даже небольшой выигрыш, что даёт логичная мнемоника, облегчает жизнь.

    Цитата Сообщение от error404
    для человека интеловские мнемоники после Z80 - абсурд
    Совершенно точно. Абсолютно согласен. Но поражает сколько защитников у КР580 ! В действительности эти люди защищают свои привычки, а не истину. Товарищи просто не понимают... Когда они странслируют первые 20 кб кода с собственного исходника Z80, их мнение изменится.

    Понятно, что в теме, где "роятся" исключительно фанаты КР580 мне трудно найти понимание. Словами тут убедить невозможно. Это как объяснить дальтонику цвета?

    Если мозг человека уже "подсел" на КР580, то подсознательно он отторгает более удобный Z80, т.к это требует доп.усилий, а мозг человека по природе ленив, стремится минимизировать усилия.

    Я привёл фразу о мнемониках ассемблера Z80, как дополнительный довод в пользу Z80. Но кто запрещает и при Z80 использовать КР580-мнемонику c КР580 ассемблерами - ASM.COM, MAC.COM и M80.COM с ключом '.8080'. Или пользуйтесь своим TASM-ом (а он имеет '.phase' и макро-команды?).

    Существуют очень древние ассемблеры для Z80 (1978) в мнемонике INTEL. Как это выглядит можете посмотреть, если при дизассемблировании CP/M дизассемблером DISASM.COM на вопрос "Есть ли Z80 команды?" ответить 'Да'. Вы увидите смешные INTEL команды типа SRAL, STAR, STAI, DSBC, LSPD, LDAR, INP, OUTP, PCIY, DADY, JMPR, JRZ, JRNZ, EXAF. На команды INIR, LDIR, RRD, SET, RES извращений уже не хватило, потому их не стали уродовать. Очевидно такой ассемблер для Z80 создали, чтобы можно было брать старые исходники 8080 и вручную переделывать их для Z80, и использовать старые библиотеки. Именно так бы выглядел ассемблер Z80, если бы не придумали более лучший вариант.

    Как можно догадаться, что делают эти команды? В то время, как у Z80 про любую команду всё ясно по её виду. Ассеблер Z80 не требуется учить. Достаточно простой человеческой логики. Зачем нужны MOV, MVI, LDAX, STAX, LXI, если это всё LD. Откуда понятно, что 'M' это не персонаж из фильма про агента 007, а подразумевает регистры HL. Или куда переход по RST 0...7, тогда как, например, RST 38 сразу указывает адрес перехода, не надо считать на калькуляторе. Почему написано D, а имеется ввиду DE? И таких несуразностей море. Это не ассемблер, а издевательство над людьми.

    Ну вот скажите по какой логике Вы сделаете вывод, что, например, команда 'INP L' работает через регистр С. Тогда как, если написать её по-человечески IN L,(C) вопросов просто не остаётся.

    Цитата Сообщение от Vladimir_S
    Какая разница какой ассемблер? Они, если по честному, оба довольно примитивные. Что совсем не удивительно. Созданы то на заре процессорных технологий.
    Непонятно о чём речь. О системе команд процессора, изображаемой на бумаге мнемоникой. Или о компилляторе, который тоже почему-то, принято называть ассемблером.

    Система КР580 оптимальна и достаточна. И отнюдь не примитивна. До сих пор не придумали лучше, потому-то Z80 производят до сих пор. Вот 6502 - примитивный, а КР580 нет. Именно поэтому разработчикам Z80 не удалось кардинально что-то изменить для программирования. Они, естественно, старались и сделали всё, что смогли - существенно упростили обрамление (регенерация 4116, встроенный преобразователь для напряжения подложки, один клок, встроенный системный контроллер). Но для программирования, самое кардинальное, что им удалось добавить, это прерывания в моде 2. Остальное - удобно, но не обязательно, т.к реализуется и на КР580. Поэтому 98% кода всех программ для Z80 используют только базовые команды КР580 (некоторые в укороченном JR варианте).

    Основной выигрыш от Z80 заключается - в одном питании, JR-командах, загрузках RR-регистров из ОЗУ, INT в моде 2 и возможности поднять такт. И в его ассемблере, - т.е просто в том какими буквами закодировали команды. Если использовать мнемоники Z80 для КР580, это даёт выигрыш и ему. Поэтому я и утверждал, что важен ассемблер.

    А если имеется ввиду компилятор, то я ещё не видел оптимизирующего ассемблера Z80 (который сам переставляет куски кода так, чтобы достичь максимального числа JR-команд, и тем самым сократить объём кода). А если этого нет, то M80 лучше всех современных кросс-ассемблеров. И дата производства не играет роли. М80 писала группа профессионалов высокого класса и доводила "до ума" много лет. Недаром он стоил дороже, чем CP/M. А современные новодельные компилляторы писали одиночки любители.

    Утомило читать?

    Ещё немного. Если в новом РК будет много ОЗУ и значит CP/M, но не будет Z80, то он останется только со старым ПО. Т.к на Западе было гораздо больше копьютеров на Z80, то в сети почти не найти программ CP/M для КР580. Поэтому нужен Z80 и не на внешних довесках, "втыкаемых" в панельку КР580, что некрасиво и потому неприемлемо. Ещё никто не привёл доводов, что лучше ставить КР580, чем Z80. Я вообще не представляю, что здесь можно возразить, кроме невразумительного "Я не люблю Z80".

    Цитата Сообщение от Vital72
    программы, которые используют только вызовы монитора будут работать без какой-либо доработки, а для тех программ, которые любят лезть к железу напрямую легко будет поменять адреса портов на правильные.
    Считаю, что полная совместимость с базовым РК это аксиома. Если этого не придерживаться, то надо назвать это другим именем и уйти в другую тему. А программ "лезущих" в порт клавиатуры во много раз больше, чем корректных. Причём "лезут" в порт клавиатуры не только командами для памяти, но и командами IN/OUT. Например, команда 'OUT (83),A' реально попадает в адрес 8383H, т.е в порт УС доп.ППА D14. Из-за этого мы не можем выделять для ППА менее чем 400H ячеек - 8000...83FF. А команды IN/OUT используемые для доступа в пространство пямяти плохо "переваривает" Z80.

    При установке Z80 придётся очищать программы от IN/OUT. Это несложно (тем более при наличии эмулятора) и намного проще, чем ставить две КП11 для переключения младших адресов на старшие (что сразу же приходит в голову аппаратчикам). При этом без разницы стоит ППА по адресу 8000 или в области F000. Переделывать программы с OUT надо в обоих случаях. И даже для процессора 8085, в применении которого вообще не вижу смысла (уж лучше КР580 с преобразователем напряжений +12,-5). Ещё раз уточняю, избавление от IN/OUT команд - это не проблема и не может быть использовано как довод против Z80. Кстати, жду доводы против Z80. Есть такие?

    Что касается фиксированной смены адресации. Конечно можно сменить во всех наглых программах адрес ППА (и это даже не потребует теперь особо много труда, т.к есть эмуляторы). Но стоит ли это делать, - менять шило на мыло? Менять адрес клавиатуры на другой. Завтра появится идея, что лучше перенести ППА в область В/У и что? Опять всё переделывать?

    Но главный довод против этого в том, что будут люди, которые не захотят ничего менять. И если и сделают что-то на своих платах РК, то только лишь что-то несложное, реально полезное. И главное, - не нарущающее совместимость.

    А если, кто-то навсегда поменял себе адреса портов на другие, отчего не имеет совместимости, то это реально означает, что это он сам добровольно "ушёл с РК86". На какой-то другой неизвестный компьютер. И обсуждать его схемотехнику надо в другой теме.

    Поэтому, как бы ни была проста Ваша схема, в стартовом режиме она должна сохранять полную совместимость с РК. Открытие ОЗУ в адресах A000...BFFF или 8400...BFFF этому требованию удовлетворяют. Т.к к доп.ППА на A000 обращается только директива U (чтение блока из ROM-диска) и единственная программа - программатор УФ-ПЗУ. И переделать её под любой адрес - работа на 10 минут для любого новичка. Потому можно занимать адреса ППА D14, а также использовать другие "дыры" не конфликтующие с В/У. А ROM-диск не нужен, т.к благодаря Z80 в ПЗУ F800 освободится не менее 100H байт, куда без проблем уместится загрузчик ДОС с любого носителя. Z80 даёт большие преимущества при модернизации ROM-BIOS-ов, а вот при КР580 с этим будут проблемы.
    Последний раз редактировалось barsik; 29.11.2016 в 07:37.

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

    По умолчанию

    Цитата Сообщение от barsik Посмотреть сообщение
    Если Вы уверены в обратном, разместите в теме, где собираются программисты для Z80 утверждение, что мнемоника КР580 логичнее, чем мнемоника Z80. С интересом буду наблюдать, как Вас там, образно говоря, "заплюют и затопчут".
    Если Вы уверены в обратном, пойдите в мечеть и скажите что Аллаха нет, а Бог есть. С интересом буду наблюдать, как Вас там образно говоря "заклюют".
    Цитата Сообщение от barsik Посмотреть сообщение
    Именно потому. Одно дело, когда ты делаешь крошечную маленькую программку. А другое дело, когда ты полностью сосредоточен на сложном алгоритме и мозги постепенно "закипают". При этом даже небольшой выигрыш, что даёт логичная мнемоника, облегчает жизнь.
    И почему у меня нет такого при переключении на MC48, MCS51 или даже все тот же AVR или, не дай Б-г ARM? А на М68К так и вообще вы должны молиться, вот там точно самый универсальный MOV[.BWL] <EAX>,<EAX>.
    Цитата Сообщение от barsik Посмотреть сообщение
    Совершенно точно. Абсолютно согласен. Но поражает сколько защитников у КР580 ! В действительности эти люди защищают свои привычки, а не истину. Товарищи просто не понимают... Когда они странслируют первые 20 кб кода с собственного исходника Z80, их мнение изменится.
    Я скомпилил гораздо больше 20к под Z80. Я не считаю его убогим - это охрененный CPU. Но выбор его мнемоник решался не его охрененностью а очень широкой распространенностью. Признайте сей факт.
    Цитата Сообщение от barsik Посмотреть сообщение
    Понятно, что в теме, где "роятся" исключительно фанаты КР580 мне трудно найти понимание. Словами тут убедить невозможно. Это как объяснить дальтонику цвета?
    Так же, как исламисту православие, верно?
    Цитата Сообщение от barsik Посмотреть сообщение
    Если мозг человека уже "подсел" на КР580, то подсознательно он отторгает более удобный Z80, т.к это требует доп.усилий, а мозг человека по природе ленив, стремится минимизировать усилия.

    Я привёл фразу о мнемониках ассемблера Z80, как дополнительный довод в пользу Z80. Но кто запрещает на Z80 использовать КР580-мнемонику c КР580 ассемблерами - ASM.COM и MAC.COM. Не важно, что они намного хуже, чем M80 (даже не имеют оператора '.phase'). Пользуйтесь своим TASM-ом (а он имеет '.phase' и макро-команды?).
    Никто не отторгает сам Z80. Читайте внимательно. И да, я уже писал, что у меня своя удобная мнемоника под Z80 для TASM. И там нет этих SRALов. Их, видимо, придумали адепты мнемоник Z80. Их цель мне не понятна.
    Цитата Сообщение от barsik Посмотреть сообщение
    И таких несуразностей море. Это не ассемблер, а издевательство над людьми.
    А я, например, считаю, что С - издевательство над людьми, хотя сам на нем пишу и уже прилично. Что от этого поменяется?
    Цитата Сообщение от barsik Посмотреть сообщение
    Основной выигрыш от Z80 заключается - в одном питании, JR-командах, загрузках RR-регистров из ОЗУ, возможности поднять такт. И в его ассемблере, т.е просто в том какими буквами закодировали команды.
    Питание - да. Расширенный набор команд - двойное да. Буквы - нет. Основной выигрыш в том, что он мог команды i8080, и можно было старый софт крутить, пока не было родного. Потом люди раскачали родной и тут уже стал решать расширенный набор команд. Пришла популярность - пришла необходимость учить его мнемоники. Вот и все. Это закон рынка и признак успешности потомка (пусть и незаконно рожденного). Посмотрите на историю x86, там было то же самое. Правда, на определенном поколении система команд стала настолько запутанной и сложной, что выручать уже стали абстрактные ЯСУ и ЯВУ.
    Цитата Сообщение от barsik Посмотреть сообщение
    Утомило читать?
    Меня - нет. И в итоге я был прав - чистый холивор.

    Касаемо сабжа решать должен только наличествующий софт. Ибо новое писать никто не будет. ВМ80 я так же считаю рудиментом опять же только из-за питания (хотя старый ВМ80-only софт придется кому-то допиливать до работоспособности на Z80).
    Последний раз редактировалось HardWareMan; 28.11.2016 в 22:11.

  5. #15
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,847
    Спасибо Благодарностей отдано 
    84
    Спасибо Благодарностей получено 
    229
    Поблагодарили
    167 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от barsik Посмотреть сообщение
    В то время, как у Z80 про любую команду всё ясно по её виду. Ассеблер Z80 не требуется учить.
    Когда я вижу листинг с подряд идущим десятком команд LD, мне становится грустно. Потому что, чтобы понять, что делает этот кусок, нужно напрягать мозг. Разнообразие мнемоник i8080 позволяет расставить "якоря", и уже не теряешься, в какой строчке какие значения регистров были и что они означали.

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

    По умолчанию

    Ещё один фрагмент из RCPM (Remote CP/M) Public Domain. BBS from USA 1989. К 1989 архив RCPM содержал уже 150 дискет с бесплатными программами для CP/M (интересно где это ПО теперь).

    Z80 mnemonics are a great improvement over those used for the 8080. Some thought was given to logical, universal mnemonics that are much easier to remember and use. I learned assembly language on the 8080 and resisted the change to Z80 at first. After using Z80 mnemonics for a short time, I became very unwilling to do anything with 8080 code. Now I run almost every 8080 program that comes in through a 8080 to Z80 translating program (XIZ.COM by Irv Hoff, another free, public domain program). Even if you are writing programs for the 8080 it is still far easier to write in Z80 mnemonics.
    Кто нибудь знает, что означает "far easier"? Попробуйте перевести PROMPT-ом и посмотрим, намного ли это отличается от того, что написал я? И заметьте, что тут речь именно о мнемониках, а не о редко используемых индексных командах и двойном наборе регистров, что по мнению HardWareMan-а, как-раз и способствовало успеху Z80.

    А я считаю, что кроме JR и LD (LOC),RR в Z80 добавилось мало-что особо полезного. Точнее польза от индексных и альтернативных регистров - невелика. IX,IY упрощают (меньше думать), но тот же самый код, причём с тем же самым объёмом и быстродействием, получается и без них (это из-за того, что на префиксы тратится много байтов). Больше пользы от половинок индексных регистров, но это недокументированные команды. Которые стали известны только, когда их открыли синклеристы в конце 80-х. JR и LD RR,(LOC) ничего не меняют, а лишь сокращают объём кода. Из половинок индексных регистров и регистра I (если нет прерываний) - польза только, в качестве быстрого места для хранения, причём и ускорение это даёт лишь на чуть-чуть, относительно использования для хранения ячеек ОЗУ. Альтернативные регистры лишь сокращают число PUSH-POP-ов (и заметная польза от них - только при написании эмулятора КР580 на Z80, т.к именно тут хранятся эмулируемые регистры КР580).

    Я считаю, что расширения системы команд Z80 отнюдь не так полезны, как это принято думать. Что и доказывает их реальное использование. Если бы это было не так, то было бы очень сложно адаптировать игры ZX для КР580. Но это делали на убогих КР580 машинах. Без отладчика Z80, без дизассемблера Z80 (с убогим DIS МИКРОН), без дисковода - и всё за за неделю. Это было возможно именно потому, что расширения железа Z80 (IX,IY,I,R) программистами в реальности используются очень мало. Отчего конверсия заключается, главным образом, в замене JR на JP и адаптации команд типа LD (LOC),RR и переделке п/п-мм работающих с клавиатурой и экраном.

    Поэтому немаловажную роль в успехе Z80 сыграла именно грамотная мнемоника, а отнюдь не добавка индексных и альтернативных регистров, как думает HardWareMan.

    Цитата Сообщение от error404
    В ассемблере КР580 куча мнемоник для разных операндов из-за того, чтобы ассемблеру не анализировать операнды команд, а переложить это на программиста
    Вот это всё объясняет. Отличная мысль. Вот отчего мнемоники команд придумали такими неудобными. Их делали не для программиста, а для упрощения ассемблера.

    Когда 8080 только появился, для него ещё не было никаких трансляторов, даже PL/M. Поэтому авторам 8080 пришлось написать хоть какой-то ассемблер для начала. Не думаю, что он был сложнее МИКРОНА. Конечно его писали не в машинных кодах, а на кросс-ассемблере. Инструментов и опытных программистов КР580 ещё не было. Потому задача раработчиков КР580 была придумать мнемоники такими, чтобы это максимально упростило компиллятор. Что они и сделали.

    А разработчики мнемоник Z80 изобретали мнемоники на 2 года позже, и потому позаботились о программистах (они могли себе это позволить - уже имели и опыт, и МАКРО-ассемблер для КР580).

    Цитата Сообщение от HardWareMan
    ходило мнение, что разработчики Z80, прикладывали руку к мнемоникам i8080 в свое время, но не смогли их использовать из-за патентов
    Это явно пустые домыслы.

    Думаю, что все знают, что графический интерфейс впервые был применён APPLE (LISA 1983, MAC 1984). А изобрёл графический интерфейс Алан Кей. Эта идея была украдена 'Мелко-SOFT'-ом для своей 'WINDOWS'. Иск по правам на графический интерфейс длился более 5 лет и APPLE проиграла. С мотивацией, что можно запатентовать вид интерфейса, но не его идею. Так получается, что и колесо нельзя запатентовать, а лишь его диаметр... В любом случае все знают, кто был первым и кто лишь заимствовал.

    Так вот, точно также нельзя запатентовать мнемоники. Процессоров в 70-е годы уже было более 3-х десятков (с однокристаллами), а слово MOVE или LOAD всего одно и много логичных производных от них - не придумать.

    И я знаю, что мнемоника ZILOG была сразу такой. Она не была вначале интелловской, и лишь потом её запретили патенто веды. Отчего "несчастным" инженерам из ZILOG пришлось изобретать что-то своё.

    Когда ещё воообще не было ассемблеров Z80, в описании Z80 (с датой 1976) приведены именно мнемоники Z80 (хотя и с небольшими отличиями). Более того, в комплект документации включена макро библиотека, которая позволяла транслировать программы для Z80 на МАКРО ассемблерах для КР580. Не все имена МАКРО команд соответствовали мнемоникам ZILOG приведённым в документации (и это специально, чтобы упростить МАКРО). Но это однозначно не были мнемоники INTEL.

    Что и доказывает, что ZILOG изначально имел хорошую мнемонику, а не вынужден был её изобрести, якобы из-за того, что патентное бюро запретило использовать "дерьмо" от INTEL.
    Последний раз редактировалось barsik; 30.11.2016 в 00:18.

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

  8. #17
    Guru Аватар для Vladimir_S
    Регистрация
    12.12.2011
    Адрес
    г. Иркутск
    Сообщений
    2,507
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    19 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

    По умолчанию

    Цитата Сообщение от barsik Посмотреть сообщение
    Цитата Сообщение от HardWareMan
    ходило мнение, что разработчики Z80, прикладывали руку к мнемоникам i8080 в свое время, но не смогли их использовать из-за патентов
    Это явно пустые домыслы.
    Скажите это английской вике. Я ссылку давал. А эта ваша логичность вообще бред. JR - понятно, Jump Relative. Тогда почему JP а не JA (Jump Absolute)? Ведь все равно condition вынесли в операнды, верно? Да даже местные находили косяки в этой самой логичности. Объясните другой факт: "удобные" мнемоники родились за 20 лет до тех же AVR и тем более ARM, так почему последние придерживаются правила формирования мнемоник как у i8080, а не упрощают работу программиста как в случае с Z80? Ведь сейчас никто не пишет программы для AVR на самом AVR, для этого подойдет даже PC 10ти летней давности, верно?

    И на последок. Для Altair 8800 был написан Барсик самим Биллом на бумажке (опять же исторический факт - гуглите). Вполне реально, я тоже так делал для Специалиста в школе, а потом проверял в кружке.

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

    Цитата Сообщение от Vladimir_S Посмотреть сообщение
    barsik, Да не кипятись так, по себе знаю, что требуется совсем не много времени,что бы любая мнемоника (что для процессора, что для контроллера) стала как родная.
    Это больше относится к RISC, потому как некоторые из оставшихся CISC стали слишком Complex (буква из аббревиатуры).

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

    По умолчанию

    Маленько покромсал тему.
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

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

  11. #20
    Master Аватар для SaNchez
    Регистрация
    22.12.2007
    Адрес
    г. Владивосток
    Сообщений
    915
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    12
    Поблагодарили
    6 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Imho, после интеловских мнемоник, зилоговские как-будто язык более высокого уровня, и это даже без учета расширенного набора команд.

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

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

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

Эту тему просматривают: 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

Ваши права

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