Hello Richard66, welcome, and pls excuse a little hijacking of your thread!
Thanks a lot Steve N,
I don't want that software any longer, actually. That was back b4 I ran into JWasm, SSE, AVX, 64-bit and all this modern stuff and I find I'm no longer interested in the Good Old Days. However there might be something I do want from MASM 5.0, or 5.1: the reason I originally got interested in it was (believe it or not) FORC macro command. FORC is better than the macros introduced in MASM 6 in various ways. For instance in
this thread, reply #12 and subsequent, jj2007 and I discussed one advantage it has, and there are others. Now, here's what the MASM 6 documentation says about it:
FORC Loops
The FORC directive is similar to FOR, but takes a string of text rather than a
list of arguments. The statements are assembled once for each character
(including spaces) in the string, substituting a different character for the
parameter each time through.
The syntax looks like this:
FORC parameter, < text>
statements
ENDM
The text must be enclosed in angle brackets. The following example illustrates
FORC:
FORC arg, <ABCDEFGHIJKLMNOPQRSTUVWXYZ>
BYTE ‘&arg’ ;; Allocate uppercase letter
BYTE ‘&arg’ + 20h ;; Allocate lowercase letter
BYTE ‘&arg’ - 40h ;; Allocate ordinal of letter
ENDM
Notice that the substitution operator must be used inside the quotation marks to
make sure that arg is expanded to a character rather than treated as a literal
string.
With versions of MASM earlier than 6.0, FORC is often used for complex
parsing tasks. A long sentence can be examined character by character. Each
character is then either thrown away or pasted onto a token string, depending on
whether it is a separator character. The new predefined macro functions and
string processing directives discussed in the following section are usually more
efficient for these tasks.
That's all the info it gives! I get the impression, from this and the rest of Chapter 9, that they're deprecating FORC, think it's been made obsolete, and that earlier documentation might have been much more informative. So, what I would like to know is, what does MASM 5 or 5.1 documentation say about FORC? Does it give more info than the above, as I expect? If so I'd like to see that section.
If you could look that up I'd greatly appreciate it ... I'm convinced the FORC character loop is still valuable and provides functionality not available with SubStr, InStr etc, its supposed replacements.
BTW my ultimate plan is to study JWasm source code, even better than old documentation, to learn how FORC and other features *really* work! But that's not in my immediate future.
Thanks for your generous offer and also any help u might be able to give on this FORC question.