Author Topic: Noob installation Q: about Masmv9_legacy  (Read 7249 times)

mikorians

  • Guest
Noob installation Q: about Masmv9_legacy
« on: October 10, 2012, 04:25:07 AM »
Maybe I'm just dumb or doing something wrong...

I have an older machine I wanted to get started on that is designed for older PIC programming, so it's Win98 (don't laugh).
I got an old version downloaded (QEdit 9.00 release) - I just found it on the internet.
I cannot get it to compile any of the stock demos or tutorials and it says:

"Microsoft (R) Macro Assembler Version 6.14.8444
Copyright (C) Microsoft Corp 1981-1997.  All rights reserved.

 Assembling: C:\MASM32\bin\my.asm
\masm32\include\windows.inc(53) : fatal error A1016: Internal Assembler Error
 ArgCount(4): Macro Called From
  \masm32\include\windows.inc(53): Include File

Assembly Error
Press any key to continue . . ."

This would seem pretty intrinsic to the use of the language...   :icon_confused:
It seems that I was able to get it to work at one time without any problems whatsoever, but now it won't do anything
I was really looking forward to it and wanted to get started learning basic Assy Lang...   :(

Spare us the  [RESOLVED], this is a forum of members, not a commercial help desk.
« Last Edit: October 13, 2012, 12:19:13 PM by hutch-- »

jj2007

  • Member
  • *****
  • Posts: 9792
  • Assembler is fun ;-)
    • MasmBasic
Re: Noob installation Q: about Masmv9_legacy
« Reply #1 on: October 10, 2012, 07:07:06 AM »
Hi mikorians,
Welcome to the Forum :icon14:

Was the installation of the Masm32 package successful, or did you get error messages?
What happens if you try to install the latest version?

mikorians

  • Guest
Re: Noob installation Q: about Masmv9_legacy
« Reply #2 on: October 10, 2012, 07:26:29 AM »
 :icon_rolleyes:  I had to hunt everywhere for a version that would work in win98.  That was MASM version 9 legacy.
It was a .zip file with an automatic .rar unpacker, and no setup.exe.  So.  No.  No errors.
It is finding the .inc file, I think, but it doesn't like it for some reason.  Maybe the windows.inc file is too new for it?
There don't seem to be any other archives of these old versions of MASM anywhere.
Does anybody have the one that goes with 6.14.8444?

qWord

  • Member
  • *****
  • Posts: 1473
  • The base type of a type is the type itself
    • SmplMath macros
Re: Noob installation Q: about Masmv9_legacy
« Reply #3 on: October 10, 2012, 07:56:23 AM »
Seems to be a problem with the ArgCount-macro. Try it with editing windwos.inc: there are several typedefs at top if the file:
Code: [Select]
pr1  ArgCount(1) ; comment all this lines out - maybe it helps
pr2  ArgCount(2)
...
MREAL macros - when you need floating point arithmetic while assembling!

mikorians

  • Guest
Re: Noob installation Q: about Masmv9_legacy
« Reply #4 on: October 10, 2012, 08:53:54 AM »
Ummmmmmmm. Kinda new to this, but I'll try putting some ; to block out the argcount macro...  DONE.

 my.asm file was saved stock from Code->"Bare Console Template" and assembled using Project->"Console Build All"  (Comments removed)

    include \masm32\include\masm32rt.inc
    .data?
      value dd ?
    .data
      item dd 0
    .code
start:
    call main
    inkey
    exit
main proc
    cls
    print "Hello World",13,10
    ret
main endp
end start

DOS console window now says numerous errors:
...
  my.asm(17): Main Line Code
my.asm(17) : error A2006: undefined symbol : ??0000
 chr$(20): Macro Called From
  my.asm(17): Main Line Code
...
my.asm(21) : error A2008: syntax error : includelib
 exit(20): Macro Called From
  my.asm(21): Main Line Code
\masm32\include\windows.inc(6939) : fatal error A1016: Internal Assembler Error

I had also tried the buildlibs.bat file, and it said both 'Install Completed Successfully' and 'this program compiled with errors' as well.
WINDOWS.INC for 32 bit MASM (Version 1.30 Release 7 March 2006)

jj2007

  • Member
  • *****
  • Posts: 9792
  • Assembler is fun ;-)
    • MasmBasic
Re: Noob installation Q: about Masmv9_legacy
« Reply #5 on: October 10, 2012, 09:06:38 AM »
Ummmmmmmm. Kinda new to this, but I'll try putting some ; to block out the argcount macro...

That won't help, as the macro is frequently used in other macros. Try inserting the new version. If yours is named ArgCount (CamelCase), adjust the one below accordingly.

    argcount MACRO args:VARARG
      LOCAL cnt
      cnt = 0
      FOR item, <args>
        cnt = cnt + 1
      ENDM
      EXITM %cnt                ;; return as a number
    ENDM

mikorians

  • Guest
Re: Noob installation Q: about Masmv9_legacy
« Reply #6 on: October 10, 2012, 09:18:41 AM »
OK, tried jj -

 Assembling: C:\MASM32\bin\my.asm
C:\MASM32\bin\my.asm(23) : fatal error A1016: Internal Assembler Error
 argcount(18): Macro Called From
  inkey(2): Macro Called From
   C:\MASM32\bin\my.asm(23): Main Line Code

Oh, CamelCase...  Nope.
No happy for me time...  :(     Frustration: Ya know...  I went through this with C having the compiler not working and too picky, so I went back to my beloved Basic again.
Are the legitimate inc libraries for this version available so I don't have to fight this thing the whole way....?  Because it had worked well when I started a long time ago.

jj2007

  • Member
  • *****
  • Posts: 9792
  • Assembler is fun ;-)
    • MasmBasic
Re: Noob installation Q: about Masmv9_legacy
« Reply #7 on: October 10, 2012, 09:35:10 AM »
Your error message says argcount(18), but the argcount I posted has only 6 lines. Which may mean that another macro is active.
Try inserting the seven lines I posted below "include" and above ".data".
If that doesn't work, comment out ; inkey - but you will have to start the exe from the commandline then. Alternatively, replace the inkey with
   invoke MessageBox, 0, chr$("bye"), chr$("OK?"), MB_OK

> I went through this with C having the compiler not working and too picky, so I went back to my beloved Basic again
Try MasmBasic - but I doubt it would work with Masm32 v9 ;-)

Hutch may have a full legacy installation for Win98. Wait and see :icon14:

mikorians

  • Guest
Re: Noob installation Q: about Masmv9_legacy
« Reply #8 on: October 10, 2012, 09:50:34 AM »
Yeah, yeah.... 6 lines.  I get it - inside the macro, so why 18?   Ah wel...
Am I remarking things right?   1 semicolon, no whitespace, thus?
;this is a remark
I commented out the identical macro section in windows.inc and added your lines right below it.  Saved the file.  I tried to compile both with and without the below also, E.g.,
    ;pr0  typedef PROTO
    ;pr1  ArgCount(1)
    ;pr2  ArgCount(2)
...
I noted similar problems with another demo using invoke messagebox today...
Thanks for all your help   :eusa_boohoo:

Save me Steve

Update: Actually found and tried installing V7, V8, V8.2 w/3 service packs, and V9 legacy again.
It must be something about my computer they just don't like because none of them will compile the windows.inc file successfully.

More errors:
...windows.inc(35) : error A2008: syntax error pr1
...windows.inc(36) : error A2051:  text item required
ArgCount(1340): Macro Called From ...windows.inc(36) Include File
...windows.inc(0) : fatal error A1004: out of memory

Maybe I don't have buffers, files, or stacks set right?

This is your big chance to fix some sort of bug in the installation that makes some sort of assumption about a user's system.
 :greenclp: :greenclp: :greenclp: :greenclp: :greenclp: :greenclp: :greenclp: :greenclp: :greenclp: :greenclp: :greenclp: :greenclp: :greenclp:
« Last Edit: October 11, 2012, 12:44:02 PM by mikorians »

mikorians

  • Guest
Re: Noob installation Q: about Masmv9_legacy
« Reply #9 on: October 11, 2012, 12:47:54 PM »
Please.

qWord

  • Member
  • *****
  • Posts: 1473
  • The base type of a type is the type itself
    • SmplMath macros
Re: Noob installation Q: about Masmv9_legacy
« Reply #10 on: October 11, 2012, 01:02:24 PM »
ArgCount and argcount are different macros: ArgCount creates prototypes for function pointers; argcount count does what the name implies: count the number of arguments.
Try to use a newer version of ML or, the simplest, use jWasm -> just rename jwasm.exe to ml.exe an place it \masm32\bin.
MREAL macros - when you need floating point arithmetic while assembling!

mikorians

  • Guest
Re: Noob installation Q: about Masmv9_legacy
« Reply #11 on: October 11, 2012, 01:47:45 PM »
Tried JWasm (MD for non-real mode) v.2.08a and got a GPF.   I made the understandable mistake that the version for DOS was the one I wanted because the windows downloads of anything typically are too new to work in Win98.  After I found the JWasm.exe  (no post letters) and tried it ---
Uppy the puppy, she come!  Apparently my system, she no like the Microsoft...

Thanks guys, now I can get started on something that runs really fast!
I'll be back for more advice no doubt, but cheers!

 :t  :t  :t  :t  :t  :t  :t  :t  :t  :t  :t  :t  :t