Чья фишка? (приём программирования)
Намедни дизассемблировал одну программу нашего соотечественника, столкнулся с интересным приёмом написания кода. А именно, поочерёдное перемежение кода и текстовых сообщений, причём без какой-либо явной адресации. Выглядит это следующим образом:
Код:
<код программы>
CALL PR_MSG
<текстовое сообщение #1/0>
<код программы>
CALL PR_MSG
<текстовое сообщение #2/0>
<код программы>
...и т.д.
PR_MSG:
; п/п вывода сообщения
; вход: [PC]-адрес начала сообщения
; выход: [PC]-адрес начала кода продолжения программы
POP H
CALL 0F818H; п/п монитора вывода сообщения по [HL]
PUSH H
RET
Чем примечательно. Для нубов затрудняет дизассемблирование :) - куски кода и текстов не имеют меток, на них нет никаких ссылок где-либо в коде. Передача и возврат параметров через регистровую пару [PC] (просто необычно, нетипично и прикольно).
Интересно, это фишка конкретно человека писавшего прогу, или это общеизвестный (читай - сдёрнутый с западных кодеров) приём, а я просто не в курсе?