Но тупо скопировать тоже вряд-ли получиться
... это понятно, тем более, что исходник на 5000 строк )). Поэтому и начал с того, что "причешу" код - после добавления макросов загрузка теперь выглядит вот так.
Код: Выделить всё
...
START3 ld_freq D'8',D'100',D'32',D'84',D'90',D'115',D'105',D'87' ; 17,50Hz 43,30Uн 2642,00Hz
START2 ld_freq D'8',D'104',D'32',D'84',D'95',D'120',D'106',D'92' ; 17,01Hz 42,29Uн 2565,00Hz
START1 ld_freq D'8',D'109',D'32',D'85',D'99',D'125',D'107',D'97' ; 16,50Hz 41,28Uн 2482,00Hz
ну и сами макросы
Код: Выделить всё
ldi macro x2,x1
movlw x1
movwf x2
endm
f2f macro x2,x1
movfw x1
movwf x2
endm
ld_freq macro x1,x2,x3,x4,x5,x6,x7,x8
ldi Sec12,x1
ldi Sec1,x2
ldi Sec2,x3
ldi Sec3,x4
ldi Sec4,x5
ldi Sec5,x6
ldi Sec6,x7
ldi Sec7,x8
lgoto ROTOR
endm
так гораздо заметнее повторяющиеся константы...
Так делалась экономия места в памяти программ.
такая догадка была, но смутило, что в программе есть вереница NOP-ов
Код: Выделить всё
;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
; Прокрутка кодовой страницы (тут может быть любая программа)
;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
nop
nop
nop