its icon indicating copy to clipboard operation
its copied to clipboard

MIDAS 73: = does not change symbol relocation

Open aap opened this issue 1 year ago • 1 comments

This is needed for the macros used by old versions of LISP. Simple example:

BAR 1:

RELOCATABLE
BLOCK 123
END

FOO 1:

RELOCATABLE
XXX:
BLOCK 100
FOO:
ZZ=1234
        ZZ
ZZ=FOO
        ZZ
ZZ=XXX
END

Build like this:

:MIDAS;73
BAR REL_BAR 1
:MIDAS;73
FOO REL_FOO 1
:MUDSYS;STINK
MBAR REL$L$$
MFOO REL$L$$
MFOO BIN$Y$$

If you then load and examine FOO BIN you get:

FOO/      1234
FOO+1/    100

That is, ZZ is first made absolute (1234), then relocatable (FOO) but it actually stays absolute so the word in memory (100) is the value of FOO taken as absolute. If ZZ is expunged between assignments it behaves as expected.

I also tested MIDAS 458 at it's ok there, but clearly older versions of MIDAS also treated this correctly so it would be nice to find out what's happening.

aap avatar Feb 12 '24 10:02 aap

ToTS 3100150 SYS;TS LMIDAS version 43:

FOO/   1234   
FOO+1/   FOO   =323

larsbrinkhoff avatar Feb 13 '24 17:02 larsbrinkhoff