[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Question on ProDOS SmartPort drive remapping



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 *,1


The 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."