Author Topic: Re: Beginner...Masm64 new install VIRUS ???? (not a virus)...Richard-001.asm  (Read 4437 times)

jj2007

  • Moderator
  • Member
  • *****
  • Posts: 11550
  • Assembler is fun ;-)
    • MasmBasic
The C:\...\Richard-001.exe application cannot run in WIN32 mode.

Any idea how to overcome this error?

See reply #29, OPT_Run

_japheth

  • Regular Member
  • *
  • Posts: 39
The C:\...\Richard-001.exe application cannot run in WIN32 mode.
Any idea how to overcome this error?

As jj already realized: It's a 64-bit DOS app, not a 64-bit Windows app. 64-bin Windows is able to run 32- and 64-bit Windows apps only, without emulator help.
The road to hell is paved with good intentions.

jj2007

  • Moderator
  • Member
  • *****
  • Posts: 11550
  • Assembler is fun ;-)
    • MasmBasic
As jj already realized: It's a 64-bit DOS app

I realised something else, Japheth :tongue:

My Win7-64 refuses to run your exe, and so does my WinXP-32 VM. What kind of exotic animal is that?

What I posted above is a standard 16-bit exe that won't run on Win7-64, but it does run in the VM, and it runs fine with the msdos.exe linked in reply #29.

_japheth

  • Regular Member
  • *
  • Posts: 39
My Win7-64 refuses to run your exe, and so does my WinXP-32 VM. What kind of exotic animal is that?

As I said: a 64-bit DOS app. Formally, it's a Win64 PE binary, marked with "subsystem:native", so that Win64 won't try to load it if you double-click it.

It's probably a bit exotic, but not that much more exotic than writing 64-bit Windows Desktop apps using bare Win32-API in assembly language. If you don't believe me: ask anyone in a dotnet forum.  :joking:

The road to hell is paved with good intentions.

Richard

  • Regular Member
  • *
  • Posts: 45
@jj2007

Sorry but I am totally confused now.

I tried to install RichMasm and MasmBasic but it does not seem right.

In c:\Masm32\bin\  I initially had mspdb_MasmBasic_readme.txt as the only entry then later on i had uasm64.exe. I manually inserted msdos.exe from some Japanese(???) site using the option of 486x64 folder.

With RichMasm (main page a light blue color) trying the modified Richard-001a.asm (having include dpmi.inc  etc etc etc) on the Right Hand Side (white area) got message...


*** Start C:\Masm32\MasmBasic\Res\bldallRM.bat ***
*** Assemble, link and run Richard-001a ***
Tmp_File.asm(14) :Error A2106: Cannot open file: "dpmi,inc"[ENDENT]        NOTE dpmi.inc does not exist in MASM32 FOLDER
Tmp_File.asm(25): Error A2210: Syntax error: rmcs
...

I think I may have missed something in the install process - Google searches came up with year 2009 dated material.

I also tried just running in the cmd line msdos.exe -d Richard-001.exe but as I wrote it it did not work (I don't understand the usage requirements)

I think that a full directly listing of what should be in MASM32 FOLDER (as far as RichMasm and MasmBASIC are concerned) would be needed for me to check that these modules of yours are correctly installed (which I think are not)

I appreciate now that it seems a DOS exe will be produced and needs a supporting program (like msdos.exe) to be able to run - as opposed to a WINDOWS exe which needs File Explorer (or cmd line) to be able to run. I was not aware of the fact that not all exe's are created/used equally.

_japheth

  • Regular Member
  • *
  • Posts: 39
Sorry but I am totally confused now.
*** Start C:\Masm32\MasmBasic\Res\bldallRM.bat ***
*** Assemble, link and run Richard-001a ***
Tmp_File.asm(14) :Error A2106: Cannot open file: "dpmi,inc"[ENDENT]        NOTE dpmi.inc does not exist in MASM32 FOLDER
Tmp_File.asm(25): Error A2210: Syntax error: rmcs

Yes, indeed.

Richard, please note: Masm32/64 are packages to support developing Windows applications (32/64-bit). JJ2007's MasmBasic is such an application.

OTOH, the modified Richard-001.asm that I uploaded is a (64-bit) DOS application, in no way related to Masm32/64 or MasmBasic. In the uploaded zip were ALL files needed to create the binary ( including dpmi.inc ). Better don't copy any of those files to the Masm32/64 folder - it will only add to the confusion.

 I uploaded the sample because I read in one of your posts:

Quote
- with the ultimate aim of a DOS like environment WITHOUT windows present.

but I see now that it has only made a non-trivial matter more complicated. Sorry!
The road to hell is paved with good intentions.

Richard

  • Regular Member
  • *
  • Posts: 45
@_japheth

Thanks for the clarification.

OK so there are a number of "camps" re modern day assembly and generally NOT interchangeable.

I am just trying to actually get something working on my computer (the DOS only FreeBASIC configuration will be a LONG time away - so Windows for NOW).

Silly question, re your zip and the nice small 5,632 byte exe that was produced lets call it Richard-001a.exe - what do I need to do/install to see Richard-001a.exe actually working (since I now know Windows complains)??

_japheth

  • Regular Member
  • *
  • Posts: 39
Silly question, re your zip and the nice small 5,632 byte exe that was produced lets call it Richard-001a.exe - what do I need to do/install to see Richard-001a.exe actually working (since I now know Windows complains)??

I wrote it runs "on bare metal" - that means, it runs in native DOS ( MS-DOS, FreeDOS, PC-DOS ), requires a 64-bit cpu and an installed XMS host ( Himem.sys ).
The road to hell is paved with good intentions.

jj2007

  • Moderator
  • Member
  • *****
  • Posts: 11550
  • Assembler is fun ;-)
    • MasmBasic
I think that a full directly listing of what should be in MASM32 FOLDER (as far as RichMasm and MasmBASIC are concerned) would be needed for me to check that these modules of yours are correctly installed (which I think are not)

Open C:\Masm32\MasmBasic\Res\HelloWorld16.asc in C:\Masm32\MasmBasic\RichMasm.exe, then hit F6. If the little helper for DOS programs sits at C:\Masm32\bin\msdos.exe, then you should see a working 16-bit DOS program. It should also work with your minimally modified version attached to reply #24 as FourX.asc :cool:

hutch--

  • Administrator
  • Member
  • ******
  • Posts: 8492
  • Mnemonic Driven API Grinder
    • The MASM32 SDK
Come on guys, Richard is still learning how to make things that work, all this extra exotica just makes the task more difficult for him.

Same comment as before, learn ONE environment first to get things going then experiment with whatever takes your fancy. I recommend 32 bit as it is a lot simpler that Win64. You can migrate to Win64 when you have learnt enough in Win32.
hutch at movsd dot com
http://www.masm32.com    :biggrin:  :skrewy:

Richard

  • Regular Member
  • *
  • Posts: 45
@jj2007

Doing "one step at a time"...

The zip file shows various screens up to the F6 step inclusive (but no further).

I have "Pin to TaskBar" the RichMasm shortcut - very distinctive icon R - must stand for RICH(ard) ....:)

jj2007

  • Moderator
  • Member
  • *****
  • Posts: 11550
  • Assembler is fun ;-)
    • MasmBasic
\Masm32\MasmBasic\DosBasic.inc was missing - see attachment.

My apologies :rolleyes:

The Masm32 forum allows attachment up to 512kBytes; at a certain point I have thrown out some less frequently used stuff to care for more essential includes, therefore you didn't have it in your package. Just extract it to \Masm32\MasmBasic\DosBasic.inc  :cool:

Your own source attached to reply #24 as FourX.asc should work without DosBasic.inc, though.

hutch--

  • Administrator
  • Member
  • ******
  • Posts: 8492
  • Mnemonic Driven API Grinder
    • The MASM32 SDK
This is what confuses me, the Win10 64 console CMD.EXE works just fine. Why piss around with messy alternatives ?
hutch at movsd dot com
http://www.masm32.com    :biggrin:  :skrewy:

Richard

  • Regular Member
  • *
  • Posts: 45
@hutch--

Thanks for message - I think I better just FIRST try to "get up and going" with MASM32 - EVENTUALLY (soon I hope) explore all "tangents" already touched on by jj2007, _japheth, etc and anything new else that pops up. This Subject I will always keep as a REFERENCE (for me) on-line as a reminder. Even though I can archive screenshots and mhtml files - I am starting to approach a large number of files (tricky to manage latter on) but the FORUM (this subject) is the most convenient "filing system" for me.

My learning curve resulted in "many more learning curves" - so "START with MASM32 - then later on investigate everything else"

I did a fresh install of MASM32 SDK on my G:\ drive to avoid confusion with MASM32 SDK (modified for MASM64 SDK) on my C:\ drive - or can I have both merged as one file (but 2 different shortcuts)? Using G:\ drive is OK for me (is installed internally on my laptop).

jj2007

  • Moderator
  • Member
  • *****
  • Posts: 11550
  • Assembler is fun ;-)
    • MasmBasic
can I have both merged as one file (but 2 different shortcuts)?

You can indeed keep the 64-bit and 32-bit SDKs in the same \Masm32 folder. This is by design.