Кстати, немного вот подумал над этим утверждением, и мне показалось, что эти случаи плохо сравнимы, и вот почему.
1) Когда в команде, скажем, LD (ix+00),a указывается в скобках выражение для получения исполнительного адреса, то на самом деле этот адрес играет вспомогательную роль при выполнении команды - содержимое регистра A помещается здесь по адресу, равному содержимому IX плюс 0. Но сам по себе регистр IX не изменяется, и по выполнении команды его содержимое не окажется ни в одном регистре, ни в ячейках памяти. Он ПОМОГАЕТ выполнению команды, его содержимое используется для определения операнда-приемника (ячейки памяти), но само содержимое IX не участвует в выполняемом действии копирования содержимого регистра в память.
2) А вот в команде LD SP, HL содержимое регистра HL в итоге окажется в другом регистре SP. И тут все понятно, скобок нет.
3) В команде JP <метка> операнд, который всегда пишется без скобок, прямо помещается в регистр PC, как если бы команда была записана в виде LD PC, <метка>.
4) Поэтому, т.к. в результате команды JP (HL) операнд играет отнюдь НЕ вспомогательное значение - содержимое HL при выполнению команды так же прямо помещается в PC, как если бы использовалась мнемоника LD PC, HL, закономерность записи со скобками нарушается.
Более того, "вспомогательное" употребление того, что записано в скобках, прослеживается во всех командах Z80. Кроме JP (HL), JP (IX), JP (IY). Вот поэтому и кажется странной запись со скобками.
Естественно, как я уже говорил, запись мнемоники в указанных архитектурах не имела принципиального значения, когда сложных команд косвенной адресации 16-битного числа вообще не было в 8-битных процессорах. И те, кто ее использовал (и использует), просто привыкают к записи. А на тех процессорах, где такая адресация возможна, естественно, JMP [BX] никто не воспринимает, как LD PC, BX.
К тому же, мнемоника для Z80 используется и описывается в таком виде повсеместно, поэтому не заменять же ее на JP HL.
P.S.: Как вариант, может, просто поддерживать мнемонику JP HL/IX/IY в ассемблерах, наравне с действующей JP (HL/IX/IY) - для обозначения одного и того же кода. Может, приживется?.. Хотя, если еще подумать, тех, кто осваивает ассемблер Z80, такой ход запутает еще больше.
...хмм, на самом деле, параллельная поддержка команды LD PC,HL даже лучше, чем параллельная поддержка JP HL вместе с JP (HL) для кода #E9. Так путаницы не возникает. Я за, только подписей нужно еще очень много.





.
.
Ответить с цитированием
Размещение рекламы на форуме способствует его дальнейшему развитию 
