There are three typical cases: |
Subroutine requires data to use a particular mapping determined by subroutine
|
Subroutine can use any mapping so actual argument should be passed and used with current mapping
|
Sometimes we need to remap due to array sections being passed |
Any remappings must be undone on return from subroutine |