Из manual.pdf от picc 9.60 PL2
STDЦитата
3.4.9.2 Bank1, Bank2 and Bank3 Type Qualifiers
The bank1, bank2 and bank3 type qualifiers are used to place static variables in RAM bank 1,
RAM bank2 and RAM bank 3 respectively. Note that there is no bank0 qualifier. Objects default to
being in bank0 if no other bank qualifier is used. All auto objects are positioned into bank0, along
with function parameters.
Из manual.pdf от picc 9.60 PL0
PROЦитата
3.3.10.3 Bank1, Bank2 and Bank3 Type Qualifiers
The bank1, bank2 and bank3 type qualifiers are always recognised by HI-TECH C PRO for
the PIC10/12/16 MCU Family so that code may be easily ported from other compilers, however by
default, these qualifiers have no effect. If the --FORCEBANK option is used, the bank1, bank2
and bank3 qualifiers become a recommendation to place static variables in RAM bank 1, RAM
bank2 and RAM bank 3, respectively.
Для picc18 аналогично. (но он тоже не знает про квалификатор bank0:))
Могу предположить, что
tarasik пользуется STD версией компилятора, которая требует рукопашного разведения переменных по банкам.
2
tarasik: обратите внимание на "All auto objects are positioned into bank0, along with function parameters.", и, соответственно, не вводите лишних локальных переменных и аргументов функций.