Определение стартовых адресов - это задача программиста. Если он не идиот,то не будет делать орг на #c000, если знает, что программа должна запускаться с #8000. Не так ли?
Прикол в том, что это слабо контролируемо и чревато ошибками.
Например, исходник рассчитан на работу из снапшота и что-то компилирует на экран или в буфер принтера. При попытке задампить бинарник получишь хрень.