Цитата Сообщение от HardWareMan
В 6502 нет нет адресации через (HL), зато есть команды:
LDA ($10),Y
STA ($20),X

Что дает нам EA равный $0010+Y и $0020+X соответственно. Это аналогично IX+d...
Хотя я ориентируюсь на 6800, где всего 6 методов адресации, а не 13, как в 6502 (т.к вообще не понимаю зачем нужны некоторые извращённые адресации имеющиеся в 6502), но даже мне ясно, что это совсем не одно и то же. Точнее пример неудачный. Это же адресация в пределах ZERO-page 0000...00FF, т.е в массиве всего в 256 байт, причём половина ZERO-page во всех 6502-машинах уже занята на системные ячейки ROM-BIOS (а выше 100H лезть бесполезно, там стек). Есть команда дающая нечто похожее на адресацию через (HL), - абсолютная адресация с индексированием через X или Y. Но она медленная (т.к трехбайтовая) и к тому же только в пределах 256 байт. А на практике часто надо просматривать большие массивы, например в Allocation Table (VTOC) или FAT больших дисков. Адресация через (HL) с последующим INC HL это делает без проблем, а с убогим 6502 нечто подобное (но дико тормозное) можно сделать только используя самомодификацию кода. Лучше бы разработчики 6502 вместо извращённых методов адресации добавили бы адресацию с автоинкрементом, как это сделано в грамотных процессорах.

Впрочем, может быть именно такие "заморочки и извращения" и привлекают любителей 6502. Кроме того, для устранения таких недоработок системы команд 6502 давно написаны стандартные процедуры. Например, как команду 16-ричного сложения (DAD у КР580) заменить подрограммой 6502. При разработке 6502, для ускорения работы, уделяли внимание лишь сокращению числа тактов на команду (хотя это всё-равно не RISK). Поэтому у 6502 было много фанатов и, например, первые мобильные телефоны имели систему команд 65C02.