По теме мнемоник. Разумеется, это вопрос из разряда "фломастеров".
Я, например, начинал с интеловских, они для меня родные и понятные. Если брать аналогию из языков разговорных, я ими "думаю".
Два раза заставлял себя осилить "вражеские" мнемоники Z80, не смог, мозг отторгает. Опять же, вижу аналогию с разговорным языком: если бы у нас слова были "почти одинаковыми", и отличались "парой символов" в конце, то учить такой язык лично мне было бы крайне трудно, а точнее - невозможно.
Ловлю себя на том, что разнообразие интеловских мнемоник зачастую работает как комментарии к коду: смотрю на листинг и сразу понимаю о чём речь, где инициализация параметров цикла (LXI..), а где тело (LDAX/STAX/MOV), причём по последовательности последних сразу понятно из "базового" [HL] идёт взятие данных (MOV - первый) или из какого-то другого регистра (первый LDAX..). Вплоть до того, что по отличию вводной "LXI.." или "LHLD.." мгновенно понимаю какая у меня подпрограмма! Если бы было сухое "LD..", то пришлось бы каждый раз вникать.
Портянка из визуально совершенно одинаковых LD х,х лично для меня сродни дампу машинных кодов. Впрочем, в последних я когда-то программировал, и там как раз визуально таки были отличия (все эти конструкции "21 хх хх", "С3 хх хх", "CD хх хх", "E5 D5 C5" и т.п. читаются на раз.
Как-то так
Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел
ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
Speccy-2007 128/AY/TR-DOS
Сайт с документацией к "Scorpion ZS 256"
Ну вот я уже говорил ранее: в интельных мнемониках программу можно читать. В зилоговских ее надо дополнительно распарсивать. Так что разрабы были умные, вопреки стенаниям barsik'а, они заботились о программистах тоже, ибо чтение листинга это тоже в какой-то степени ассемблирование. И если программа бездушная возьмет скоростью, то живые мозги уже начнут спотыкаться (и требовать обязательного тщательного комментирования).
Я кстати тоже, когда на любой хекс смотрю сразу глаза цепляются и синхронизируются к командам ВМ80, даже там, где это не надо.
Где не надо, там обычно нет привычных конструкций, так что глазу особо не за что цепляться... /-)
Даже если вижу "FE 0D", то глаз уже автоматом "просканировал" окружение и не нашёл там подходящего контекста (как правило это С2 хх хх опосля и CD 03 F8 до..)
- - - Добавлено - - -
Имхо, скорее всего действительно уши первых мнемоник растут из "упрощения жизни" ассемблеру, а не для удобства программиста. Но "так случилось", что человекам (некоторым) это ещё и удобнее
Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел
Собственно, все четко поделились на тех кому ближе языки низкого уровня (и им ближе Интеловские мнемоники), и кому ближе языки высокого уровня (и соответственно, Z80). Форумные проекты участников это четко иллюстрируют, кстати. Пишущим на ЯВУ довольно странно страдать оттого что присвоение всегда делается одни и тем же знаком "=" независимо от типов присваиваемых операндов, их подобная лаконичность в коде Z80 (LD) не смущает, а наоборот воспринимается как удобство, а десять разных операторов присвоения воспринимают как нонсенс, а не удобство. Как то так?
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Не соглашусь. Одна половинка меня любит кодить на "Микроне", а вторая распрекрасно "хоббится" на С++Билдере. Одно другому никак не мешает, и никаких сопоставлений между ASSM'ом и ЯВУ мозг не проводит. Иногда на Си приходится вставлять код на ASSM'е, правда сейчас значительно реже (отпала проблема нехватки быстродействия писюков ).
Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел
HardWareMan, как я вижу выделенное на скрине. С9 - это RET, 47 не помню, хотя наверное выделено неверно: там 01 С9 47, т.е. в ВС или в DE грузим 47С9h. Далее из 4000h читаем в аккум, последний сдвигаем вероятно вправо (делим пополам, если по-русски), потом по какой-то кондиции флага <C> делаем RET, далее МУВ А,Б, затем CALL 1DAh и JMP 0B35h. Ещё что-то помню даже
А писал я только для Орионов и для Синклера-48. "Читал" ещё РК86, Партнёр, АОН на ВМ80, ну и синклеровское всякое.
Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)