And the OP used "LOAD /G"...
> OS/8 without the CCL doesn't need the ABSLDR. The bare Key Board Monitor
> (KBM)
> is able to load and start .SV-files with the GET an R command. And it
> has to
> extract the CCB too. And from that it gets also the Job Staus Word
> (JSW), to
> know how to handle swapping and where to start the program.
Yes. I never said that RUN uses CCL. RUN is a KBM command.
However, "LOAD" *is* a CCL command, and the OP noted that using "LOAD
/G" worked, while RUN did not.
Also, OS/8 as such don't ever need ABSLDR, but you need it if you ever
want to compile and run a program (unless it is FORTRAN IV).
You then made comments about the CCB, and how it would be the last run
programs CCB that would be used when you do a save, and that the CCB
from PAL8 would work for most programs.
I pointed out that the CCB from PAL8 is not relevant, but the CCB from
ABSLDR would have been, since it is ABSLDR which is the program in
effect before you do a SAVE. PAL8 creates a .BN file. You then need to
read that .BN file into memory, and for that you need ABSLDR. At no
point will PAL8 be the previously running program.
However, you are also wrong in your assumptions about ABSLDR. It *do*
create a CCB based on what addesses your .BN file uses.
>> Put everything in another way: RUN and R will load in a .SV file, and
>> use the CCB from that file. LOAD will load in a .BN file, create a CCB
>> by some heuristics, and leave it all in memory. LOAD /G will execute
>> whatever is in memory.
>
> No. According to the OS/8 manual ABSLDR doesn't construct a CCB if you load
> a .BN-file, even it could do that partially. It doesn't know the starting
> address of the program, even it will mostly be 0200.
You are wrong. I don't know what you are reading, but check the OS/8
handbook, page 1-108, second sentence from the start of the section
about ABSLDR.
The one thing you did get right is that ABSLDR will just guess that the
start address is 0200, since the start address is not a piece of
information that exists explicitly in a .BN file.
> If you use ABSLDR with the /I option it reads a .SV-file and extracts the
> CCB and JSW.
I actually can't find any support for that claim in the manuals I'm
checking right now, but I think that this is a fair assumption.
>> So a LOAD might read in a binary file, which contains stuff in field
>> 0. The saved image (.SV) might not have page 0 saved, which causes it
>> to fail.
>> Do a LOAD again, and then save *that*. Possibly with relevant
>> arguments to make sure that all the relevant sections of memory is saved.
>
> That's what I said. The problem is, that reading a .BN-file with ABSLDR
> does NOT construct a matching CCB, even an existing CCB could occasionally
> work with the loaded program after SAVEing it as .SV.
> So not "Possibly", you have to provide the correct arguments to SAVE to get
> reliable working .SVs.
No, that is not what you said.
Go back and reread what you wrote.
And yes, ABSLDR will create a correct CCB for you, with the exception if
you have a different starting address.
But as the OP said that "LOAD /G" works, he is obviously using the
standard starting address, so just doing a "LOAD" followed by a "SAVE"
should fix his problem.
At no time will the CCB from PAL8 be relevant in this discussion.
Johnny