comp.lang.ada
 help / color / mirror / Atom feed
* Re: S/390 (was Market pressures for more reliable software)
@ 2001-06-28 11:44 robin
  2001-06-28 13:04 ` Gary Labowitz
  2001-06-28 21:49 ` Roedy Green
  0 siblings, 2 replies; 14+ messages in thread
From: robin @ 2001-06-28 11:44 UTC (permalink / raw)


Roedy Green <roedy@mindprod.com> writes: > On Thu, 28 Jun 2001 04:01:02 GMT, robin <robin_v@bigpond.nospam.com>
> wrote or quoted :
> 
> >> To load you had to adjust all the
> >> address references to account for where in RAM the program was loaded.
> >
> >No, only those words that had been specified as containing an absolute
> >address.
> 
> you only had a 12 bit displacement, so you needed great many ADCONS
> (address constants),

I'm aware that the displacement is 12 bits, having used the
assembley language for many years.
However, my original post mentioned program-relative addressing
as one of the modes.  With the BALR instruction, one or
more registers can be loaded with the absolute address of the next
instruction.  This register(s) can then be used as the
base register(s).  No address constants needed.

The number of address constants depends on the programmer.
There might be none or very few such constants.  Certainly not enough to
significantly increase program load time.

> to fill your base registers with before you could
> get at anything. On load, all these had to be adjusted to account for
> where the program was actually loaded in RAM.

Several instructions, requiring very little execution time.

> Roedy Green, Canadian Mind Products



^ permalink raw reply	[flat|nested] 14+ messages in thread
* Re: S/390 (was Market pressures for more reliable software)
@ 2001-06-28 23:17 robin
  2001-06-28 23:46 ` Roedy Green
  2001-06-29 12:19 ` Shmuel (Seymour J.) Metz
  0 siblings, 2 replies; 14+ messages in thread
From: robin @ 2001-06-28 23:17 UTC (permalink / raw)


Roedy Green <roedy@mindprod.com> writes: > On Thu, 28 Jun 2001 11:44:29 GMT, robin <robin_v@bigpond.nospam.com>
> wrote or quoted :
> 
> >With the BALR instruction, one or
> >more registers can be loaded with the absolute address of the next
> >instruction.  This register(s) can then be used as the
> >base register(s).  No address constants needed.
> 
> The BALR was S/360's rather odd subroutine jump instruction.
> 
> BALR 14,15 would put the return address in reg 14 and jump to the
> subroutine addressed by reg 15.

But when the second address is zero, it does not branch, and
the address of the next instruction is placed in the nominated
register.  (e.g., BALR 3,0)

This value (contents) is then used as the base for addressing purposes.

> Roedy Green, Canadian Mind Products
> Custom computer programming since 1963. Ready to take on new work.




^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2001-07-02  0:18 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-06-28 11:44 S/390 (was Market pressures for more reliable software) robin
2001-06-28 13:04 ` Gary Labowitz
2001-06-28 21:49 ` Roedy Green
  -- strict thread matches above, loose matches on Subject: below --
2001-06-28 23:17 robin
2001-06-28 23:46 ` Roedy Green
2001-06-29  0:27   ` John Homes
2001-06-29  6:41     ` Randy Hudson
2001-06-29 19:25     ` hack
2001-06-29  0:52   ` Gary Labowitz
2001-06-29  8:21   ` Clem Clarke
2001-06-29 12:20   ` Shmuel (Seymour J.) Metz
2001-06-29 12:19 ` Shmuel (Seymour J.) Metz
2001-06-30  6:13   ` Randy Hudson
2001-07-02  0:18     ` Shmuel (Seymour J.) Metz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox