Дело не в том, чем отличается прошитый и не прошитый NOP, а том что точка входа в подпрограмму и тело подпрограммы разделены кучей байт пустого места.
PS. NOP в программе компилируется как 0x00, а вот дешифратор команд считает NOP-ом как 0x00 так и 0xFF.
А вот железячники сделали правильно, что пустая ячейка памяти эквивалентна инструкции nop.
Кто виноват? То ли авторы компилятора, то ли авторы программы на Це, история умалчивает :)
Спецыалисты утверждают, что от паяльника на 220, да еще и не заземленного очень много бед в электронике. А полевые транзисторы паяют вообще скрутив им лапы проволокой.
А вот если включить паяльник через регулируемый блок питания типа ЛАТР можно изменять его температуру…
PS. NOP в программе компилируется как 0x00, а вот дешифратор команд считает NOP-ом как 0x00 так и 0xFF.
ROM:055E ; Micro delay
ROM:055E
ROM:055E Delay_??: ; CODE XREF: sub_ROM_298+4p
ROM:055E ; sub_ROM_2A2+4p ...
ROM:055E nop
ROM:0560 nop
ROM:0562 nop
ROM:0564 nop
ROM:0566 nop
ROM:0568 decfsz WREG, w, ACCESS
ROM:056A bra Delay_?? ; Micro delay
ROM:056C return 0
ROM:056C ; End of function Delay_??
или даже такого:
ROM:056E unk_ROM_56E res 1 ; CODE XREF: ROM:STARTp
ROM:056F res 1
ROM:0570 res 1
и еще 780 байт NOP-ов
ROM:087F res 1
ROM:0880 ; ---------------------------------------------------------------------------
ROM:0880 movlw 73 ; 's' ; Initialisation?
ROM:0882 movwf OSCCON, ACCESS
А вот железячники сделали правильно, что пустая ячейка памяти эквивалентна инструкции nop.
Кто виноват? То ли авторы компилятора, то ли авторы программы на Це, история умалчивает :)
А вот если включить паяльник через регулируемый блок питания типа ЛАТР можно изменять его температуру…