Alex Freed wrote:
glen herrmannsfeldt wrote:I don't know DOS/360 well at all. Its assembler may have a lot of passes given the smaller memory allowed.Maybe you can still solve a 30+ year old mystery for me :)The 360 assembly language was the first I ever saw. And I remember a mantra a lot (all 3 I saw?) started with. Something like:BALR 1,0 USING *,1The BALR must be "branch and link register". I can guess that either "1" or "0" was a register that the system put something in?But what is the USING?
The BALR (Branch And Link Register) does not branch when the branch address register is R0, but it always loads the destination register (R1) with the address of the next byte (the return address if a call). The USING pseudo-op tells the assembler to assume that R1 contains the address of "*", the current value of the program counter, when it uses R1 as a base register in subsequent code. This little "mantra" establishes addressibility for the 4K bytes of memory starting with the location following the BALR. -michael NadaPong: Network game demo for Apple II computers! Home page: http://members.aol.com/MJMahon/ "The wastebasket is our most important design tool--and it's seriously underused."