А кто сказал, что я этого не делаю)
Вид для печати
По теме мнемоник. Разумеется, это вопрос из разряда "фломастеров".
Я, например, начинал с интеловских, они для меня родные и понятные. Если брать аналогию из языков разговорных, я ими "думаю".
Два раза заставлял себя осилить "вражеские" мнемоники Z80, не смог, мозг отторгает. Опять же, вижу аналогию с разговорным языком: если бы у нас слова были "почти одинаковыми", и отличались "парой символов" в конце, то учить такой язык лично мне было бы крайне трудно, а точнее - невозможно.
Ловлю себя на том, что разнообразие интеловских мнемоник зачастую работает как комментарии к коду: смотрю на листинг и сразу понимаю о чём речь, где инициализация параметров цикла (LXI..), а где тело (LDAX/STAX/MOV), причём по последовательности последних сразу понятно из "базового" [HL] идёт взятие данных (MOV - первый) или из какого-то другого регистра (первый LDAX..). Вплоть до того, что по отличию вводной "LXI.." или "LHLD.." мгновенно понимаю какая у меня подпрограмма! Если бы было сухое "LD..", то пришлось бы каждый раз вникать.
Портянка из визуально совершенно одинаковых LD х,х лично для меня сродни дампу машинных кодов. Впрочем, в последних я когда-то программировал, и там как раз визуально таки были отличия (все эти конструкции "21 хх хх", "С3 хх хх", "CD хх хх", "E5 D5 C5" и т.п. читаются на раз.
Как-то так :v2_dizzy_snowball:
Ну вот я уже говорил ранее: в интельных мнемониках программу можно читать. В зилоговских ее надо дополнительно распарсивать. Так что разрабы были умные, вопреки стенаниям barsik'а, они заботились о программистах тоже, ибо чтение листинга это тоже в какой-то степени ассемблирование. И если программа бездушная возьмет скоростью, то живые мозги уже начнут спотыкаться (и требовать обязательного тщательного комментирования).
Я кстати тоже, когда на любой хекс смотрю сразу глаза цепляются и синхронизируются к командам ВМ80, даже там, где это не надо. :)
http://www.justkino.org/uploads/post...075_skrin3.jpg
Где не надо, там обычно нет привычных конструкций, так что глазу особо не за что цепляться... /-)
Даже если вижу "FE 0D", то глаз уже автоматом "просканировал" окружение и не нашёл там подходящего контекста (как правило это С2 хх хх опосля и CD 03 F8 до..) ;)
- - - Добавлено - - -
Имхо, скорее всего действительно уши первых мнемоник растут из "упрощения жизни" ассемблеру, а не для удобства программиста. Но "так случилось", что человекам (некоторым) это ещё и удобнее :)
Собственно, все четко поделились на тех кому ближе языки низкого уровня (и им ближе Интеловские мнемоники), и кому ближе языки высокого уровня (и соответственно, Z80). Форумные проекты участников это четко иллюстрируют, кстати. Пишущим на ЯВУ довольно странно страдать оттого что присвоение всегда делается одни и тем же знаком "=" независимо от типов присваиваемых операндов, их подобная лаконичность в коде Z80 (LD) не смущает, а наоборот воспринимается как удобство, а десять разных операторов присвоения воспринимают как нонсенс, а не удобство. Как то так?
Не соглашусь. Одна половинка меня любит кодить на "Микроне", а вторая распрекрасно "хоббится" на С++Билдере. Одно другому никак не мешает, и никаких сопоставлений между ASSM'ом и ЯВУ мозг не проводит. Иногда на Си приходится вставлять код на ASSM'е, правда сейчас значительно реже (отпала проблема нехватки быстродействия писюков :)).
Это потому, что ты либо не писал что-то вне экологии Ориона/РК/специалиста для i8080/Z80, либо даже просто не ковырял "тяжелые" программы для упомянутых ЛК. Вот например вполне осмысленный код:
http://savepic.net/8712488.png
Совпадение?Не думаю!Именно. Как ты думаешь, чей это код (подсказка на скрине)?
HardWareMan, как я вижу выделенное на скрине. С9 - это RET, 47 не помню, хотя наверное выделено неверно: там 01 С9 47, т.е. в ВС или в DE грузим 47С9h. Далее из 4000h читаем в аккум, последний сдвигаем вероятно вправо (делим пополам, если по-русски), потом по какой-то кондиции флага <C> делаем RET, далее МУВ А,Б, затем CALL 1DAh и JMP 0B35h. Ещё что-то помню даже :)
А писал я только для Орионов и для Синклера-48. "Читал" ещё РК86, Партнёр, АОН на ВМ80, ну и синклеровское всякое.