dialects in various parts of the United States still use the word
yonder, usually to specify something that's within sight, and often with
accompanied by a gesture pointing toward it.
--
Martin
Dr Martin Ward | Email: mar...@gkc.org.uk | http://www.gkc.org.uk
sequence of bits.
--
Martin
Dr Martin Ward | Email: mar...@gkc.org.uk | http://www.gkc.org.uk
G.K.Chesterton site: http://www.gkc.org.uk/gkc | Erdos number: 4
/
:-)
--
Martin
Dr Martin Ward | Email: mar...@gkc.org.uk | http://www.gkc.org.uk
G.K.Chesterton site: http://www.gkc.org.uk/gkc | Erdos number: 4
nded
to use register 1 as a pointer to the field to be checked!
At least, its worth a look.
--
Martin
Dr Martin Ward | Email: mar...@gkc.org.uk | http://www.gkc.org.uk
G.K.Chesterton site: http://www.gkc.org.uk/gkc | Erdos number: 4
to detect recursive
subroutines and places where a subroutine return address
could be overwritten before the subroutine returns.
--
Martin
Dr Martin Ward | Email: mar...@gkc.org.uk | http://www.gkc.org.uk
G.K.Chesterton site: http://www.gkc.org.uk/gkc | Erdos number: 4
verting all the bits
and adding one will leave the value in the register unchanged
when the value is the maximum negative number.
--
Martin
Dr Martin Ward | Email: mar...@gkc.org.uk | http://www.gkc.org.uk
G.K.Chesterton site: http://www.gkc.org.uk/gkc | Erdos number: 4
number (since if you subtract one from it,
the top bit flips and you get 0x7FFF which is therefore
the largest positive number).
So this explains why both LPR and LCR of 0x8000
result in 0x8000.
--
Martin
Dr Martin Ward | Email: mar...@gkc.org.uk | http://w
ine of code from a production system (I won't say whose):
USING *,2,3,4,5,6,7,8,9,10
That's how the "pros" do it!
--
Martin
Dr Martin Ward | Email: mar...@gkc.org.uk | http://www.gkc.org.uk
G.K.Chesterton site: http://www.gkc.org.uk/gkc | Erdos number: 4
etail.cfm?id=1165766
--
Martin
Dr Martin Ward | Email: mar...@gkc.org.uk | http://www.gkc.org.uk
G.K.Chesterton site: http://www.gkc.org.uk/gkc | Erdos number: 4
from history are doomed to repeat it."
--
Martin
Dr Martin Ward | Email: mar...@gkc.org.uk | http://www.gkc.org.uk
G.K.Chesterton site: http://www.gkc.org.uk/gkc | Erdos number: 4
RC8ROUTINE
LIMITEQU *-BRTAB
Three test and branch instruction pairs plus two unconditional
branch instructions, all to avoid executing a sequence
of up to three test and branch instruction pairs :-)
--
Martin
Dr Martin Ward | Email: mar...@gkc.org.uk | http
.
--
Martin
Dr Martin Ward | Email: mar...@gkc.org.uk | http://www.gkc.org.uk
G.K.Chesterton site: http://www.gkc.org.uk/gkc | Erdos number: 4
ying about the execution
time of the generated code. If you want better code,
and you are prepared to spend more time waiting for it to
be produced, then simply turn on optimisation!
--
Martin
Dr Martin Ward | Email: mar...@gkc.org.uk | http://www.gkc.org.uk
G.K.Chesterton
correct: the last segment may have padding bytes.
--
Martin
Dr Martin Ward | Email: mar...@gkc.org.uk | http://www.gkc.org.uk
G.K.Chesterton site: http://www.gkc.org.uk/gkc | Erdos number: 4
,ON)
This overrides all PRINT directives to turn on printing,
ensures that all macro calls are printed along with
all macro expansions.
--
Martin
Dr Martin Ward | Email: mar...@gkc.org.uk | http://www.gkc.org.uk
G.K.Chesterton site: http://www.gkc.org.uk/gkc | Erdos number: 4
in the Z390 environment variable
# (2) $HOME/lib/z390
# (3) /usr/local/lib/z390
# (4) /usr/lib/z390
###
# Author Martin Ward http://www.gkc.org.uk
###
# Maintenace Log of changes for z390
On 07/06/2020 21:57, Seymour J Metz wrote:
I will admit that the UNPK/TR technique won;t work so well with
Unicode, but then neither will TROT.
For the sixteen hex characters, Unicode UTF-8 encoding
is the same as ASCII :-)
--
Martin
Dr Martin Ward | Email: mar
# default options
Also: all macro files must have the extension .MAC in upper case.
--
Martin
Dr Martin Ward | Email: mar...@gkc.org.uk | http://www.gkc.org.uk
G.K.Chesterton site: http://www.gkc.org.uk/gkc | Erdos number: 4
On 01/05/2020 05:07, Seymour J Metz wrote:
The usage precedes the S/360 by years; it dates to the 709 if not
before. See, e.g., the FAP manual on bitsavers.
Page number?
--
Martin
Dr Martin Ward | Email: mar...@gkc.org.uk | http://www.gkc.org.uk
G.K.Chesterton site
On 30/04/2020 03:48, robi...@dodo.com.au wrote:
What's wrong with a comment?
It *is* a comment (in the broader sense).
--
Martin
Dr Martin Ward | Email: mar...@gkc.org.uk | http://www.gkc.org.uk
G.K.Chesterton site: http://www.gkc.org.uk/gkc | Erdos number: 4
ch you can run the code, or single step. It's quite nice
for learning the basics of the ISA.
z390 Portable Mainframe Assembler:
https://sourceforge.net/projects/z390/
http://www.z390.org/
--
Martin
Dr Martin Ward | Email: mar...@gkc.org.uk | http://www.gkc.org.uk
G.K.
of self-modifying code
we have encountered can be detected and translated.)
Let me know if you would like to pursue this option.
--
Martin
Dr Martin Ward | Email: mar...@gkc.org.uk | http://www.gkc.org.uk
G.K.Chesterton site: http://www.gkc.org.uk/gkc | Erdos number: 4
On 06/08/2018 02:30, Robin Vowels wrote:
And anyway, why would you want to EX an EX?
To cause an ABEND after an error, of course!
I have seen "EX 0,*" in production code to do this
(along with "J *+1")
--
Martin
Dr Martin Ward | Email: mar.
expensive is it compared to reading a file record?
--
Martin
Dr Martin Ward | Email: mar...@gkc.org.uk | http://www.gkc.org.uk
G.K.Chesterton site: http://www.gkc.org.uk/gkc | Erdos number: 4
to a sufficiently
large work area before unpacking.
--
Martin
Dr Martin Ward | Email: mar...@gkc.org.uk | http://www.gkc.org.uk
G.K.Chesterton site: http://www.gkc.org.uk/gkc | Erdos number: 4
to store a value.
For a parameter like A[I]+1 which cannot be assigned to,
the second function would cause a runtime error.
--
Martin
Dr Martin Ward | Email: mar...@gkc.org.uk | http://www.gkc.org.uk
G.K.Chesterton site: http://www.gkc.org.uk/gkc | Erdos number: 4
the address
in the literal table where the number 3 was stored, and could
assign a new value to it. From that point on, any references
to the literal number 3 in the program would get the new value!
--
Martin
Dr Martin Ward | Email: mar...@gkc.org.uk | http://www.gkc.org.uk
all';
sub funct1($$$);
my $myvarname1 = 42;
print "Calling funct1:\n";
funct1(sub { rand(5) }, \$myvarname1, 7);
sub funct1($$$) {
my ($A, $B, $C) = @_;
printf("1st: A+B+C = %f\n", &$A + $$B + $C);
printf("2nd: A+B+C = %f\n", &$A + $$B + $C);
}
--
free variables by value), in a modern language we just
pass the function, or a lambda expression.
--
Martin
Dr Martin Ward | Email: mar...@gkc.org.uk | http://www.gkc.org.uk
G.K.Chesterton site: http://www.gkc.org.uk/gkc | Erdos number: 4
"DECIMAL EXPONENT SYMBOL, Algol-60 token
for scientific notation literals").
--
Martin
Dr Martin Ward | Email: mar...@gkc.org.uk | http://www.gkc.org.uk
G.K.Chesterton site: http://www.gkc.org.uk/gkc | Erdos number: 4
or HLASM
programmer. I have asked how certain things could be done
in assembler, because I genuinely want to know, for example:
On 05/02/18 17:32, Martin Ward wrote:
How do you define a function using assembler macros?
How do you define objects? In particular, how do you stop
the programmer from taking
object oriented COBOL features.
My message was a response to the rather broad claim tha
the functionality of any non-trivial macro cannot be made
"available / usable / maintainable in ANY other language"
--
Martin
Dr Martin Ward | Email: mar...@gkc.org
the code:
MOVE A TO B
:-)
--
Martin
Dr Martin Ward | Email: mar...@gkc.org.uk | http://www.gkc.org.uk
G.K.Chesterton site: http://www.gkc.org.uk/gkc | Erdos number: 4
ment this in HLASM?
--
Martin
Dr Martin Ward | Email: mar...@gkc.org.uk | http://www.gkc.org.uk
G.K.Chesterton site: http://www.gkc.org.uk/gkc | Erdos number: 4
in an
abstract data type.
--
Martin
Dr Martin Ward | Email: mar...@gkc.org.uk | http://www.gkc.org.uk
G.K.Chesterton site: http://www.gkc.org.uk/gkc | Erdos number: 4
hable code.
The HLASM assembler does not, however, carry out any static analysis
and does not warn about unreachable code.
--
Martin
Dr Martin Ward | Email: mar...@gkc.org.uk | http://www.gkc.org.uk
G.K.Chesterton site: http://www.gkc.org.uk/gkc | Erdos number: 4
? In particular, how do you stop
the programmer from taking the address of an object
and examining/modifying the object's internals
without using the defined interface?
--
Martin
Dr Martin Ward | Email: mar...@gkc.org.uk | http://www.gkc.org.uk
G.K.Chesterton site: http
unhygienic macros.
--
Martin
Dr Martin Ward | Email: mar...@gkc.org.uk | http://www.gkc.org.uk
G.K.Chesterton site: http://www.gkc.org.uk/gkc | Erdos number: 4
On 02/02/18 19:03, Paul Gilmartin wrote:
On 2018-02-02, at 06:28:54, Martin Ward wrote:
The original Pascal string used a single byte for the length
at a time when a $70K machine had a mere 4K words of memory.
I don't recall seeing that in Wirth's Pascal User Manual and Report,
which I
).
--
Martin
Dr Martin Ward | Email: mar...@gkc.org.uk | http://www.gkc.org.uk
G.K.Chesterton site: http://www.gkc.org.uk/gkc | Erdos number: 4
-- Edsgar W. Dijkstra
--
Martin
Dr Martin Ward | Email: mar...@gkc.org.uk | http://www.gkc.org.uk
G.K.Chesterton site: http://www.gkc.org.uk/gkc | Erdos number: 4
an optimised program:
providing a backtrace, allowing examination of variable values
and linking executable code to source code line numbers.
--
Martin
Dr Martin Ward | Email: mar...@gkc.org.uk | http://www.gkc.org.uk
G.K.Chesterton site: http://www.gkc.org.uk/gkc | Erdos number: 4
, tiling, unswitching, etc. etc.
Also automated register allocation, procedure inlining
and whole program optimisation.
Also, local variables in function definitions (and functions,
for that matter!)
--
Martin
Dr Martin Ward | Email: mar...@gkc.org.uk | http
performance)? As a C programmer, there is no problem:
you write the most readable and maintainable version
of the loop and allow the optimiser to generate efficient code.
--
Martin
Dr Martin Ward | Email: mar...@gkc.org.uk | http://www.gkc.org.uk
G.K.Chesterton site: http
ying interprocedural
optimisation to all functions and variables, including
statically-linked libraries.
--
Martin
Dr Martin Ward | Email: mar...@gkc.org.uk | http://www.gkc.org.uk
G.K.Chesterton site: http://www.gkc.org.uk/gkc | Erdos number: 4
oblem here is that if a pointer to the same data area
is needed several times, then the data will be included several times:
when only one copy is needed.
This could waste literally *dozens* of bytes of memory!
--
Martin
Dr Martin Ward | Email: mar...@gkc.org.uk | http://www.
the same literal is needed again.
--
Martin
Dr Martin Ward | Email: mar...@gkc.org.uk | http://www.gkc.org.uk
G.K.Chesterton site: http://www.gkc.org.uk/gkc | Erdos number: 4
the same literal
--
Martin
Dr Martin Ward | Email: mar...@gkc.org.uk | http://www.gkc.org.uk
G.K.Chesterton site: http://www.gkc.org.uk/gkc | Erdos number: 4
mainframe.
For O(n^2) versus O(n log n) (eg insertion sort vs quicksort)
the differences become larger even if memory speed keeps track
with increasing memory size.
--
Martin
Dr Martin Ward STRL Principal Lecturer & Reader in Software Engineering
mar...@gkc.org.uk
On 18/05/2017 11:57, Martin Ward wrote:
The "random bit probe" algorithm is an example of
a "coupon collector's problem":
https://en.wikipedia.org/wiki/Coupon_collector%27s_problem
The expected number of trials (and therefore runtime)
is n log n (plus smaller terms). This
onds on a modern PC.
Also: if the random number generator does not have a long enough cycle,
then the last bit might never be found by random probing!
(On some early microcomputers the built in interpreted
BASIC language had a random number generator which repeated
after about 1,700 numbers!)
--
ctivity) which seeds
the pseudo random number generator. Many years ago I built
such a device using the noise generated by a reverse-biased diode.
Here is an example of such a circuit:
http://holdenc.altervista.org/avalanche/
--
Martin
Dr Martin Ward STRL Principal Lecturer
.
--
Martin
Dr Martin Ward STRL Principal Lecturer & Reader in Software Engineering
mar...@gkc.org.uk http://www.cse.dmu.ac.uk/~mward/ Erdos number: 4
G.K.Chesterton web site: http://www.cse.dmu.ac.uk/~mward/gkc/
Mirrors: http://www.gkc.org.uk and http://www.gkc.org.uk/gkc
e
instruction enables you to say what you *mean*, and not have to "hack"
the parser with some complex expression such as 1234*65536+1234
or some meaningless value such as 80872658.
So this is another argument supporting the proposal.
--
Martin
Dr Martin Ward STRL
54 matches
Mail list logo