• Re: more addressing, Why I've Dropped In

    From John Levine@21:1/5 to All on Wed Jun 18 18:19:55 2025
    According to Stephen Fuld <[email protected]d>:
    On the System/360, a FORTRAN compiler typically compiled each subroutine
    in a program separately from every other subroutine. They just got
    linked together by the linking loader in order to run.

    I'm not sure what you mean by "linkingloader" The linkage editor (IIRC
    IEWL) linked together all of the object modules created by the compiler.
    Loading the program was a different operation, again IIRC, done by the
    initiator in each partition)

    OS and its descendants have both a linkage editor that combined a bunch of object
    modules and wrote a load module on disk, and a loader that leaves the result in memory and runs it directly.

    The loader is not the same as program fetch, the part of the operating system that reads and starts a load module. Load modules (and object decks) notionally
    start at location zero, and have a relocation directory that lists all of the places there are address pointers that need to be adjusted to the actual location
    where it's loaded. That relocation was quite simple; the overlay loader did it too and I believe was under 1000 bytes.

    For people who want more details, I shamelessly recommend this book:

    https://shop.elsevier.com/books/linkers-and-loaders/levine/978-0-08-051031-6

    --
    Regards,
    John Levine, [email protected], Primary Perpetrator of "The Internet for Dummies",
    Please consider the environment before reading this e-mail. https://jl.ly

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Stephen Fuld@21:1/5 to John Levine on Wed Jun 18 12:07:28 2025
    On 6/18/2025 11:19 AM, John Levine wrote:
    According to Stephen Fuld <[email protected]d>:
    On the System/360, a FORTRAN compiler typically compiled each subroutine >>> in a program separately from every other subroutine. They just got
    linked together by the linking loader in order to run.

    I'm not sure what you mean by "linkingloader" The linkage editor (IIRC
    IEWL) linked together all of the object modules created by the compiler.
    Loading the program was a different operation, again IIRC, done by the
    initiator in each partition)

    OS and its descendants have both a linkage editor that combined a bunch of object
    modules and wrote a load module on disk, and a loader that leaves the result in
    memory and runs it directly.

    Thanks John. I didn't know that as I only used the linkage editor.


    The loader is not the same as program fetch, the part of the operating system that reads and starts a load module. Load modules (and object decks) notionally
    start at location zero, and have a relocation directory that lists all of the places there are address pointers that need to be adjusted to the actual location
    where it's loaded. That relocation was quite simple; the overlay loader did it
    too and I believe was under 1000 bytes.

    For people who want more details, I shamelessly recommend this book:

    https://shop.elsevier.com/books/linkers-and-loaders/levine/978-0-08-051031-6

    WOW!!! A twenty five year old book on a somewhat obscure topic is
    apparently still in print. Congratulations!


    --
    - Stephen Fuld
    (e-mail address disguised to prevent spam)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Thomas Koenig@21:1/5 to Stephen Fuld on Thu Jun 19 06:13:53 2025
    Stephen Fuld <[email protected]d> schrieb:
    On 6/18/2025 11:19 AM, John Levine wrote:

    For people who want more details, I shamelessly recommend this book:

    https://shop.elsevier.com/books/linkers-and-loaders/levine/978-0-08-051031-6

    WOW!!! A twenty five year old book on a somewhat obscure topic is
    apparently still in print. Congratulations!

    I bought it :-)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Stephen Fuld@21:1/5 to Thomas Koenig on Wed Jun 18 23:39:00 2025
    On 6/18/2025 11:13 PM, Thomas Koenig wrote:
    Stephen Fuld <[email protected]d> schrieb:
    On 6/18/2025 11:19 AM, John Levine wrote:

    For people who want more details, I shamelessly recommend this book:

    https://shop.elsevier.com/books/linkers-and-loaders/levine/978-0-08-051031-6

    WOW!!! A twenty five year old book on a somewhat obscure topic is
    apparently still in print. Congratulations!

    I bought it :-)

    Recently or some time ago? Perhaps you should write a review and earn
    John some royalty bucks! :-)


    --
    - Stephen Fuld
    (e-mail address disguised to prevent spam)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Thomas Koenig@21:1/5 to Stephen Fuld on Thu Jun 19 07:46:56 2025
    Stephen Fuld <[email protected]d> schrieb:
    On 6/18/2025 11:13 PM, Thomas Koenig wrote:
    Stephen Fuld <[email protected]d> schrieb:
    On 6/18/2025 11:19 AM, John Levine wrote:

    For people who want more details, I shamelessly recommend this book:

    https://shop.elsevier.com/books/linkers-and-loaders/levine/978-0-08-051031-6

    WOW!!! A twenty five year old book on a somewhat obscure topic is
    apparently still in print. Congratulations!

    I bought it :-)

    Recently or some time ago?

    Ordered on 2023-03-27, so that may be considered "recently"
    or "some time ago", depending on your definition of the word.

    Perhaps you should write a review and earn
    John some royalty bucks! :-)

    It certainly helped me understand the concepts (especially relocs)
    when trying to get to grips with the concepts for the My 66000
    assembler. Thanks, John :)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)