Someone wrote:
> Thought it was a double word
> As in DS D
It is a doubleword, specifically a long (64 bit) floating point type.
And yes,
DS D
and
DS 0D
are commonly used when floating point is not intended.
And as Fortran programmers would know, E is the short (32 bit)
Bernd wrote:
> We also had a self-written batch debugger, which relied completely on
> S0C1 and SPIE to do its instrumentation and implement the breakpoints;
> at least in the first version.
Reminds me of a debugger I used with Orvyl/370 in S/370 days.
I believe it used SVC 255 for
Shmuel (Seymour J.) Metz wrote:
> No; it is guarantied to generate a program 001 interrupt.
> You only get an ABEND S0C1 if there is no SPIE/ESPIE exit.
I suspect that some use S0C1 as shorthand, and as you note
incorrect, description for program interrupt 1.j
It might be that some SPIE
I believe that some DEC assemblers allow local labels of
the form d$ where d is a digit from 0 to 9.
Local labels need to be unique between any two normal labels.
References to them would, then, only work between those same labels.
-- glen
Nothing against discussions on how to write fast code, but I don’t believe that
this is normally necessary.
About 20 years ago, I was counting words, not just how many, but how many of
each word, on gigabytes of text.
(Full text US patents for two years.) I did it in Java (with JIT compiler
ight be used, that could be a problem.
In addition, note the trial execution required when the translate
table crosses a page boundary.
But most likely more time has been spent discussing the efficiency
than lost by any inefficiencies in the macro.
—glen
Someone wrote:
"yes, I Had to do the Same, when I implemented Quicksort in REXX,
because
the OS/2 Implementation of REXX only supported some 32 nesting Levels."
The usual way to write recursive quicksort is to take advantage of tail
recursion.
Each call will generate two recursive
Someone wrote:
"OOP is, I think, quite a bit more than a calling standard - it boils
down to an
abstracted thought process that you simply cannot do in Assembler.
As noted however, you an certainly write a dynamite compiler in HLASM that
compiles a OOP language. "
You can write OOP in
On January 31, 2018 at 8:06 AM Kirk Wolf wrote:
On Tue, Jan 30, 2018 at 9:39 PM, Jon Perryman wrote:
C is a byte by byte language. Anything not hidden in a primitive or
function must be processed byte by byte. In primitives and functions, the
compiler can choose how to implement it. The point
The 360/20 has MVC and CLC, but, strangely, not LR.
(You can use SR and AR instead, so no need for LR.)
On January 25, 2018 at 10:57 AM Bernd Oppolzer wrote:
(snip)
I would like to add:
Mainframe ASSEMBLER IMHO is the only Assembler language
(or the only instruction set) where humans can write reasonably programs
in.
All other Assemblers or instruction sets lack the same user friendliness
and
ler evaluated the whole thing at
compile time
(very slowly) and at run time printed out the precomputed value (fast).
If Fortran H could do it 40 years ago, C compilers should do it today.
(But I don't know that Fortran H did loop evaluation.)
-- glen
> Yes. My question was "In a called module, how do we determine
> if it was called dynamically or statically”
The whole design, since OS/360, is that you don’t.
If you want to know, pass an argument to the load module that has a different
value for the dynamic case.
Using LINK, your module is
> Sorry for the confusion caused. I strongly agree this is a basic question
> and I too understand the Static, all the loads will be loaded in to main
> memory and the load will be placed in to the main memory during execution
> time, Dynamic. We can give Call macro and Load macro for the same. My
You need
No, this loads R14 from an address near the beginning of memory.
Pretty sneaky calling it R4, but the value is 4, so the result is actually
L R14,4
or more precisely
L R14,4(0,0)
(unless you are on a PDP-10, where the registers are addressable as
the first 16 locations in memory).
-- glen
://bitsavers.trailing-edge.com/pdf/dec/pdp11/rsx11/RSX11M_V2/DEC-11-OIMRA-A-D_MACRO_75.pdf
-- glen
OK, here are the macros as I use them, with the test for host machine removed.
They come from the HRTPB360 program that is part of HASP.
Note that OS/360 assemblers support BAS and BASR, possibly for the 360/67.
-- glen
believe these are from the 360/67.
There are some other diagnoses.
I believe one jumps to a specified address in microcode, but the
useful addresses aren't well documented.
More are for the later serial numbers, with microcode in core.
-- glen
of the other RR instructions.
PACK, UNPK, MVO, ZAP, AP, SP, CP, MP, DP so full decimal arithmetic.
MVI, MVN, MVZ, CLI, MVC, CLC, NI, OI, ED, BR, B, BASR, BAS.
and then the model 20 specific: XIO, TIOB, HPR, SPSW.
-- glen
assemblers.)
The macros seem to still work with new assemblers.
-- glen
such things, the PSW in the 360/20 does
have an A bit, and I have run some decimal instructions with
it set.
-- glen
:
USING XXX,0,1
to see if it subtracts 4096, and generates displacements
from register 1.
-- glen
it doesn't subtract 1000 from the
displacements.
-- glen
don't see.
This is my first time trying to assemble for absolute addresses.
-- glen
. If not
for rentals of S/360, it might not have had the wait state.
-- glen
Here are pictures of the key switch:
https://commons.wikimedia.org/wiki/File:Customer_Engineer_Key_Switch_for_IBM_S-360_computer,_view_1.JPG
https://commons.wikimedia.org/wiki/File:Customer_Engineer_Key_Switch_for_IBM_S-360_computer,_view_2.JPG
to do with
bitwise AND and OR and most hardware. (Though you have to be
able to get floating point values in a place where you can do
bitwise operations.)
-- glen
I wonder if anyone knows where to find CE keys for S/360 CPUs.
thanks,
-- glen
.
thanks,
-- glen
.
-- glen
The mention of instruction sets and green cards reminds me,
does anyone have a (scan of) a 360/20 Reference Summary?
Some places indicate that it might be yellow or red.
-- glen
operands before
any data is modified, and can generate the page fault interrupt
at that time.
-- glen
to be available
in the paperback international version for a lower price, and
used in the hardback not so much more.
-- glen
are in hex.
-- glen
From C28-6514-5 on bitsavers, on page 16:
Division by zero is permitted and yields a zero result.
After that, (and presumably also earlier) it has to stay that
way as code (macros) might depend on that.
There is no reason given.
-- glen
convert the
already computed remainder by muliplying it by 1 (SRP)
and then dividing it by the original divisor, 3, to
get remainder 1. That is, considering the shift, 0.
remainder 0.0001.
-- glen
, not
so bad.
Since S/360 through z/ use different opcodes for different
addressing modes of the same instruction, do you count those
as separate instructions, or just one? (Compare to VAX,
where there is an opcode byte and address mode byte.)
-- glen
the \def operator.
Now, what happens if OPSYN is OPSYNed?
-- glen
the
branch around the csect name.
But, why the DS 0H instead of putting the label on the LM?
-- glen
, in the general case I agree. It just seemed unneeded
in this specific case.
-- glen
of bytes to IC and STC the boundary byte.
-- glen
, but the decrement
and skip/jump are usual.
Note that on the PDP-10, the JUMP instruction doesn't jump,
the JUMPA instruction actually does, but usually JRST is used
instead.
-- glen
do that.
-- glen
and
positive zero compare as equal. It is only with tests like SIGN(X)
in Fortran that you can detect negative zero.
Many years ago, I learned that the CALL/OS Fortran compiler
(or, more likely, library) would print +0.0 if given a negative zero.
No sign was printed for positive zero.
-- glen
a negative floating point zero.)
The arithmetic IF is still in Fortran, though its use is discourage
and it is, I believe, on the obsolescence list.
-- glen
between C and other languages.
-- glen
, there are system
that allow for dynamic reconfiguration, the hardware equivalent
of self-modifying code!
-- glen
contribution to the CPU usage.
(Most likely even in 1963.)
Decisions that make sense one year might not the next.
The S/360 instructions have done well over the years.
-- glen
.
On the other hand, consider all the wasted bits in even offset
branch instructions.
-- glen
49 matches
Mail list logo