Discussion:
OO version of Macro-32, was: Re: CRTL and RMS vs SSIO
(too old to reply)
Stephen Hoffman
2021-10-14 23:05:47 UTC
Permalink
Not that I'd expect to ever meet Macroo32.
:-)
What would an object orientated version of Macro-32 even look like ? :-)
Um, an abomination?

Of the more recent OO options that can work for embedded and can work
directly with hardware registers, prolly Rust with one or more crates
for the platform hardware involved.

https://doc.rust-lang.org/stable/embedded-book/

For the next decade or so and what would be typical for refactoring or
rewriting existing OpenVMS Macro32, it'll probably get rewritten into C.

Possibly C with either classic OpenVMS built-ins or with asm mixed in.

Somewhat longer term, I'd consider a mix of Zig and C.

Neither of which are OO, of course.

If I'm working with application code and not working directly with
hardware registers, there are many fine choices, OO and otherwise.
--
Pure Personal Opinion | HoffmanLabs LLC
Simon Clubley
2021-10-15 17:16:45 UTC
Permalink
Seriously??
I'm going to turn that around and ask you:

Seriously, Dan, seriously ??? :-)

There are 4 ":-)" symbols in the original posting and it was written
very much tongue in cheek.

There are some ideas that are so insane to implement (ie: OO Macro-32)
that, even when they are made in jest (like indeed Stephen did), it's
actually fun to think what that would look like if someone was crazy
enough to try and implement the idea.

Either you got out of the wrong side of the bed yesterday or you are
missing the ability to detect humour. :-)

Simon.
--
Simon Clubley, ***@remove_me.eisner.decus.org-Earth.UFP
Walking destinations on a map are further away than they appear.
Dave Froble
2021-10-15 19:14:14 UTC
Permalink
Post by Simon Clubley
Seriously??
Seriously, Dan, seriously ??? :-)
There are 4 ":-)" symbols in the original posting and it was written
very much tongue in cheek.
There are some ideas that are so insane to implement (ie: OO Macro-32)
that, even when they are made in jest (like indeed Stephen did), it's
actually fun to think what that would look like if someone was crazy
enough to try and implement the idea.
Either you got out of the wrong side of the bed yesterday or you are
missing the ability to detect humour. :-)
Simon.
Perhaps Simon's humor is sometimes well hidden?
--
David Froble Tel: 724-529-0450
Dave Froble Enterprises, Inc. E-Mail: ***@tsoft-inc.com
DFE Ultralights, Inc.
170 Grimplin Road
Vanderbilt, PA 15486
Simon Clubley
2021-10-17 19:15:37 UTC
Permalink
Post by Dave Froble
Perhaps Simon's humor is sometimes well hidden?
Simon's sense of humour is absolutely fine. :-) It's not my fault if
you Americans don't understand humour unless it's rammed down your
throat. :-) :-)

Simon.
--
Simon Clubley, ***@remove_me.eisner.decus.org-Earth.UFP
Walking destinations on a map are further away than they appear.
Simon Clubley
2021-10-15 17:21:31 UTC
Permalink
This would be an abomination.
:-)
Way way way back in the day, this sort of thing gained some
popularity in the PDP11 MACRO-11 world. It was implemented by a set of
macros called SMACIT, that enabled this sort of thing. I didn't like it
then either....
Microsoft actually did a more primitive version of the while() loop
above in MASM back about 30 years ago. Don't know if anyone ever used
that and other constructs however. :-)

Simon.
--
Simon Clubley, ***@remove_me.eisner.decus.org-Earth.UFP
Walking destinations on a map are further away than they appear.
Simon Clubley
2021-10-15 17:27:56 UTC
Permalink
Not that I'd expect to ever meet Macroo32. ?
:-)
What would an object orientated version of Macro-32 even look like ? :-)
Anyone want to have a guess at possible syntax options ? :-)
BTW, you could always add some structured language constructs to
the Macro-32 compiler that could get translated into normal
.while(R0 != 0)
How does a directive see and active value in R0 and oring it with 0 does
nothing.
'!=' is the not equals operator from C, not the OR operator.

If anyone actually wanted to do this, the directive would be expanded
to actual Macro-32 code before being compiled. Microsoft did something
similar in MASM about 30 years ago.
.for(R0 = 0; R0 < R1; R0++)
That's just FN fugly.
Suspected that would be your response. :-)
This would be an abomination.
Way way way back in the day, this sort of thing gained some
popularity in the PDP11 MACRO-11 world. It was implemented by a set of
macros called SMACIT, that enabled this sort of thing. I didn't like it
then either....
Leave Macro alone!
:-)

On a more serious note, I think the time for enhancing assemblers
with stuff like this has long since passed.

Blame Stephen for putting the idea of OO Macro-32 into my head. :-)

Simon.
--
Simon Clubley, ***@remove_me.eisner.decus.org-Earth.UFP
Walking destinations on a map are further away than they appear.
Simon Clubley
2021-10-15 17:30:50 UTC
Permalink
Post by Stephen Hoffman
Not that I'd expect to ever meet Macroo32.
:-)
What would an object orientated version of Macro-32 even look like ? :-)
Um, an abomination?
Yes, big time. It's your fault for putting the idea of OO Macro-32 into
my head. :-) Even as a joke (as you clearly intended it), I just found
the whole idea of that concept amusing. :-)

Simon.
--
Simon Clubley, ***@remove_me.eisner.decus.org-Earth.UFP
Walking destinations on a map are further away than they appear.
Rich Alderson
2021-10-15 21:57:58 UTC
Permalink
BTW, you could always add some structured language constructs to
the Macro-32 compiler that could get translated into normal
.while(R0 != 0)
{
[Normal Macro-32 code]
}
.if(R0 & 1)
{
[Normal Macro-32 code]
}
.else
{
[Normal Macro-32 code]
}
.for(R0 = 0; R0 < R1; R0++)
{
[Normal Macro-32 code]
}
I've read the entire thread so far, so I know that you are joking here.

I just wanted to point out that DEC (remember them? the parent company to
Digital?) supplied a set of structured programming macros ( IF, ELSIF, ELSE,
ENDIF, DO, ENDDO) in the standard universal file ("header file") MACSYM for
Macro-10.

While many old hands objected to their use, my late friend Mark Crispin used
them extensively in his programs, and I learned them from his code. Older
style programs used "literals" (out of line code snippets) to handle the same
kinds of things, which makes for spaghetti binaries, while the macros put
everything in-line, so that even a novice programmer can see what's going on in
the debugger.
--
Rich Alderson ***@alderson.users.panix.com
Audendum est, et veritas investiganda; quam etiamsi non assequamur,
omnino tamen proprius, quam nunc sumus, ad eam perveniemus.
--Galen
Loading...