Bunu nereden çıkarttın,
direk 0 dan başlayacaksın, 18F46k22 için 1024 e kadarda (yani 0~1023) yazabilirsin:
Kod:
write_eeprom(0,kac_yazacaksan);
write_program_eeprom ise program memory ye yazma yapar aradığınız bu değil,
eeprom u olan mcu larda bunu kullanmak mantıksız.
Ayrıca eeprom un 0~255 den sonraki kısmına yazacaksan ve
bunun için bir değişken ile yazacağın adresi göstereceksen
bu adresi gösterecek değişkeni "unsigned int16" tipinde tanımlamayıda unutmamalısın.