Author Topic: MASM 6.00b  (Read 3486 times)

RICHARD66

  • Regular Member
  • *
  • Posts: 4
MASM 6.00b
« on: April 15, 2015, 06:31:03 PM »
Hello everyone,

I am looking MASM 6.00b (only this version 6.00 B 1992).

Please can you help me find it ?

(ML.EXE and ML.ERR Version B 1992 could be sufficient)

Thanks in advance

rrr314159

  • Member
  • *****
  • Posts: 1381
Re: MASM 6.00b
« Reply #1 on: April 15, 2015, 07:43:34 PM »
Dunno. I once tried hard to find version 5, just to revisit the "good old days" and failed. Found more than one site that claimed to have it but they turned out to be fake, made me download useless garbage, go thru a bunch of advertisements, and delivered nothing. Maybe someone else knows where MASM 6 is, all I can say, Good Luck!
I am NaN ;)

anunitu

  • Member
  • ****
  • Posts: 897
Re: MASM 6.00b
« Reply #2 on: April 15, 2015, 10:07:43 PM »

FORTRANS

  • Member
  • ****
  • Posts: 945
Re: MASM 6.00b
« Reply #3 on: April 15, 2015, 11:47:58 PM »
Hi,

Dunno. I once tried hard to find version 5, just to revisit the "good old days" and failed.

  I have MASM 5.0  I thought I got it from the IBM OS/2 developer's
site, but cannot be sure of that.  If that was correct, I got MASM
version 6.0 for OS/2 and ALP (IBM's assembler) at the same time.
So the zip files should have the same time stamps (if I find them).
Try IBM or the Wayback Machine?  It's probably too late, but I should
catalog things when I download things.  (Memo to self 20 odd years
back.)  Since I have it, and if you still want it (most want 5.1?),
something can be arranged...

Cheers,

Steve N.

RICHARD66

  • Regular Member
  • *
  • Posts: 4
Re: MASM 6.00b
« Reply #4 on: April 16, 2015, 01:06:58 AM »
Thank you for your answers,
I tried MASM, 5.0, 6.0, 6.11, 6.11d, 6.14, 6.15, but these versions do not create the same .OBJ files, creating problems with the management of my library of object files.
As this library was created with MASM 6.00b (I have now lost), I would find this version of MASM 6.00b created in 1992.

I have already downloaded the different versions available from Vetusware, but I only found the version 6.00 (not the version 6.00b).
Someone must surely still have this ?
Best Regards

dedndave

  • Member
  • *****
  • Posts: 8734
  • Still using Abacus 2.0
    • DednDave
Re: MASM 6.00b
« Reply #5 on: April 16, 2015, 02:51:06 AM »
hmmmm

seems to me that you could extract the object files and build a new library
or - if you have the source for all of them, just write a batch file to build a new library from scratch

you don't want to be tied to a specific version of anything   :t

how big is the LIB ?
number of OBJ's ?

Gunther

  • Member
  • *****
  • Posts: 3515
  • Forgive your enemies, but never forget their names
Re: MASM 6.00b
« Reply #6 on: April 16, 2015, 06:48:26 AM »
Hi Richard,

Dave's idea isn't so bad. You could go this way. In that case is Agner Fog's tool OBJCONV a very good helper. And welcome to the forum.

Gunther
Get your facts first, and then you can distort them.

rrr314159

  • Member
  • *****
  • Posts: 1381
Re: MASM 6.00b
« Reply #7 on: April 16, 2015, 07:15:57 AM »
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:

Quote from: MASM 6.1 Programmer's Guide
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.
I am NaN ;)

RICHARD66

  • Regular Member
  • *
  • Posts: 4
Re: MASM 6.00b
« Reply #8 on: April 16, 2015, 07:30:27 AM »
Hi,
Yes, I have already done that, but for some modules I will not hold the source code.
This library contains thirty object files.

Anyway I would try to find the 6.00b version of MASM.

Someone in the world must surely still have this ?

Thank you for your help


dedndave

  • Member
  • *****
  • Posts: 8734
  • Still using Abacus 2.0
    • DednDave
Re: MASM 6.00b
« Reply #9 on: April 16, 2015, 07:54:57 AM »
assuming they were your modules to begin with....

link them into a program, then disassemble and create a new source file   :P

RICHARD66

  • Regular Member
  • *
  • Posts: 4
Re: MASM 6.00b
« Reply #10 on: April 16, 2015, 01:17:12 PM »
Yes,
Thanks for the advice.
Everything is possible, but the fact remains that I am looking MASM 6.00b.
This version appears to have been distributed very little, so it will make do otherwise.
Sorry for this unsuccessful mobilization.

FORTRANS

  • Member
  • ****
  • Posts: 945
Re: MASM 6.00b
« Reply #11 on: April 17, 2015, 12:34:39 AM »
Hi rrr314159,

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.

[...]

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.

   I do not have any documentation for MASM 5.0.  ALP is claimed
to be MASM 5.1 compatible.  (Mostly.)  Here is what its INF file says.
Title seems to have stuck to the window.  Along with the formatting.


 The assembler repeats the statements in the block once for each character in the string.  Each repetition
 substitutes the next character in the string for every occurrence of Parameter in the block.

  Syntax   



            FORC Parameter, String (or <String>)
               .
               .
               .
            ENDM
           

  Remarks   
           
            The obsolete spelling for the FORC directive is IRPC.

            The FORC directive is similar to the FOR/IRP directive except that a String is used instead of
            <Argument-List>, and the angle brackets around the string are optional.  The string should be enclosed
            with angle brackets (<>) if it contains spaces, commas, or other separating characters.

            The FORC/IRPC-ENDM block does not have to be within a macro definition.

  Example   
           
            In this example, the assembler produces the code DB 1 through DB 8:

           
            FORC    X,12345678
            DB      X
            ENDM


   I have documentation for MASM 3.0.  It has a page on IRPC that
I can copy, but it says about the same thing.

HTH,

Steve N.

anunitu

  • Member
  • ****
  • Posts: 897
Re: MASM 6.00b
« Reply #12 on: April 17, 2015, 01:48:29 AM »
I so know this feeling,for a bit I was a bit obsessed with going back and playing with 6502 coding..got the emulator and a monitor and all the coding tools..
Then for a bit I found myself trying my hand at CP/M stuff,searched for an emulator and went on a search for documentation .

I will say it does take a bit of energy to try that stuff at my present age(68)

Good luck if you want to take a walk down memory lane..but remember you can only visit :dazzled: :icon_confused: ::)

rrr314159

  • Member
  • *****
  • Posts: 1381
Re: MASM 6.00b
« Reply #13 on: April 17, 2015, 04:14:02 PM »
@FORTRANS, thanks! Brief as it is, that old doc does mention a couple points not found in MASM 6. Was hoping it had more comprehensive example but, that's Microsoft for you - trial and error often the only way to find out. Thx again,

@anunitu, sometimes I feel like revisiting glory days of lost youth ... for instance bought some 1957 baseball cards. But this is a bit different, I want to use FORC today, with JWasm and MASM 64-bit. Due to backward compatibility FORC still has all the old capabilities, but they're not well documented since FORC is deprecated. Unfortunately they weren't well documented back then either! BTW I know someone has u beat by more than 20 years and still very active, so "68" as an excuse for energy depletion is not completely convincing :biggrin:
I am NaN ;)