Цитата(Oldring @ Apr 14 2011, 03:06)

Именно на хак и тянет.
Экономия в набивании нескольких символов за счет того, что повышается риск ошибоок при модификации программы и ухудшает видимость структуры программы. Метки, кстати, служат еще одной важной функции - показывают, куда может быть передано управление. Соответственно, иногда только текстовым поиском можно легко найти все места, откуда осуществляется переход на помеченную инструкцию.
Какой текстовый поиск? Речь идет об
очевидных конструкциях. Ну куда еще может быть передано управление командой "rjmp PC - 1", кроме как на предыдущую?
Цитата(SysRq @ Apr 14 2011, 03:07)

Нахожу, конечно же. Однако, информативность кода та же, что без меток, но меньше шансов ляпнуть ошибку.
Информативность много ниже. Я уж не говорю о потерянном времени и затраченном регистре.
Цитата(SysRq @ Apr 14 2011, 03:07)

Нет, не облом, если декомпозировать команду. Но выглядеть будет крайне идиотски, не спорю.
Ну, так можно и до виртуальной машины дойти потихоньку.
Цитата(Oldring @ Apr 14 2011, 03:06)

На первый взгляд, конечно, кажется, что "brhs PC + 2" текстуально полностью эквивалентно скипу следующего rjmp, если применять единообразно. Но это неверно. Помню, как-то ради быстрого перехода на больший кристалл заменил в проекте все rjmp и rcall на jmp и call текстовой заменой

Цитата(SysRq @ Apr 14 2011, 03:07)

В процессе правки заменить rjmp на jmp, потому что код разросся (а правили сложно, долго, и где-то много ниже этого вот места), и компилятор ругался на невозможность relative jump. Ошибка по невнимательности. Человеческий фактор.
Если уж мы имеем дело с ассемблером, то человеческий фактор и так проявляется на каждом шагу. В конце концов, можно и метку в процессе copy-paste воткнуть не туда. Поэтому элементарную внимательность никто не отменяет.