When your PBP program has an assembly-language subroutine, what determines
whether or not you need to define variables as 'bankA system'?

For example, my assembly-language subroutine has 3 basic types of variables:

1. Variables that hold the context registers - WREG, STATUS, FSR0L, FSR0H
2. Variables that I need to pass back and forth between PBP and assembly
3. Temporary variables that are first assigned in PBP, but otherwise are used only within the assembly-language subroutine.

It is my belief that the 'bankA' designation forces PBP to put the variables in the first 256 bytes of RAM, but what does the 'system' nomenclature mean?

Is there some rule for how these labels are used?