Register corruption on READ SYMBOL

Where the argument to READ SYMBOL is an intrinsic map (ie CHARNO, BYTE, INTEGER, LENGTH), the address is first calculated, stored in a register, and READ SYMBOL called. READ SYMBOL may overwrite the register in which the destination address is stored. The solution is declare a temporary integer to hold the READ SYMBOL i.e. change READ SYMBOL(BYTE(100)) into READ SYMBOL(C); BYTE(100) = C