PIC16F84A, таблица и счётчик команд
Здравствуйте, уважаемые форумчане! Создаю проект на 16-м пике, наткнулся на камень. Не приятный такой. Дело вот в чём- нужно создать таблицу, большую таблицу, занимающую более половины памяти программ, программирую на асме, от того мои друзья- инструкции retlw и de. Всё бы ничего (знающий уже наверное понял, к чему я клоню), но прыгать средствами регистра pcl и pclath корректно не получается. Никак не могу перепрыгнуть через первые 256 строк, чтобы попасть на 257-ю. Заношу в рег-р pcl нули, а в pclath нулевой бит ставлю 1, и попадаю в аккурат на 356 строку. Меняю последовательность бит в pcl на 00000001, -соответственно, 357-я, опять мимо ((( Код примерно такой-
bsf 0x0a
movlw b'00000000'
movwf 0x02
Подскажите, что не так делаю?
И ещё вопрос- как мне отследить, переполнился ли регистр, перепрыгнув через 255, чтобы, например, прибавить старший разряд. Взять, например, команду addwf, где прибавление может быть любым числом до 255 (в моём случае даже намнооого меньше).
Может есть где почитать по поводу подобных длинных переходов по таблице с применением счётчика команд и задействования pcl и pclath? Что- то сам искать убился ((
Пожалуйста, выручайте.
Здравствуйте, уважаемые форумчане! Создаю проект на 16-м пике, наткнулся на камень. Не приятный такой. Дело вот в чём- нужно создать таблицу, большую таблицу, занимающую более половины памяти программ, программирую на асме, от того мои друзья- инструкции retlw и de. Всё бы ничего (знающий уже наверное понял, к чему я клоню), но прыгать средствами регистра pcl и pclath корректно не получается. Никак не могу перепрыгнуть через первые 256 строк, чтобы попасть на 257-ю. Заношу в рег-р pcl нули, а в pclath нулевой бит ставлю 1, и попадаю в аккурат на 356 строку. Меняю последовательность бит в pcl на 00000001, -соответственно, 357-я, опять мимо ((( Код примерно такой-
bsf 0x0a
movlw b'00000000'
movwf 0x02
Подскажите, что не так делаю?
И ещё вопрос- как мне отследить, переполнился ли регистр, перепрыгнув через 255, чтобы, например, прибавить старший разряд. Взять, например, команду addwf, где прибавление может быть любым числом до 255 (в моём случае даже намнооого меньше).
Может есть где почитать по поводу подобных длинных переходов по таблице с применением счётчика команд и задействования pcl и pclath? Что- то сам искать убился ((
Пожалуйста, выручайте.