Ещё один фрагмент из RCPM (Remote CP/M) Public Domain. BBS from USA 1989. К 1989 архив RCPM содержал уже 150 дискет с бесплатными программами для CP/M (интересно где это ПО теперь).
Кто нибудь знает, что означает "far easier"? Попробуйте перевести PROMPT-ом и посмотрим, намного ли это отличается от того, что написал я? И заметьте, что тут речь именно о мнемониках, а не о редко используемых индексных командах и двойном наборе регистров, что по мнению HardWareMan-а, как-раз и способствовало успеху Z80.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.
А я считаю, что кроме 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
Когда 8080 только появился, для него ещё не было никаких трансляторов, даже PL/M. Поэтому авторам 8080 пришлось написать хоть какой-то ассемблер для начала. Не думаю, что он был сложнее МИКРОНА. Конечно его писали не в машинных кодах, а на кросс-ассемблере. Инструментов и опытных программистов КР580 ещё не было. Потому задача раработчиков КР580 была придумать мнемоники такими, чтобы это максимально упростило компиллятор. Что они и сделали.
А разработчики мнемоник Z80 изобретали мнемоники на 2 года позже, и потому позаботились о программистах (они могли себе это позволить - уже имели и опыт, и МАКРО-ассемблер для КР580).
Это явно пустые домыслы.Сообщение от HardWareMan
Думаю, что все знают, что графический интерфейс впервые был применён 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.




