News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests
NB: Posting URL's See here: Posted URL Change

Main Menu

Is there any masm32 version more portable?

Started by avcaballero, October 23, 2012, 08:15:46 PM

Previous topic - Next topic

avcaballero

I belive that jWasm is, but it needs masm32 libraries, but they are not provided by jWasm as is logic. By the way I can't get jWasm site because my antivirus locked the access, any way to get it?.

Thank you

japheth

you can use SourceForge - http://sourceforge.net/projects/jwasm/

My site - japheth.de - allegedly has become very suspicious because "the 5 top virus scanners" ( as my virtual host provider told me ) did find an infected file in a zip-package (unrelated to jwasm). The file has been replaced some weeks ago, so it might be that in a few years you'll have access to japheth.de again.

btw.: the "infected" file was a very basic windows app, size 5120, and the issue that caused the alerts was that it had code and data sections merged to save 0x200 bytes.

hutch--

Japheth,

Put this data in the AV Sh*t List subforum so that people can find it and if you know the virus scanners that deliver the false positives, it is useful to name them as well.

Vortex

Hi avcaballero,

The masm32 installation is portable.

avcaballero

Not so much. It does changes to the system, such in paths. It have to be in the root folder in c: or d:. Also thousands of things (compilings, etc) are done before it become operational. For more portable, I understand decompress it in a folder and be operational.

Greetings.

Vortex

Hi avcaballero,

The masm32 installation does not modify the system and it does not touch the PATH environment value. Did you try the SUBST command?

H:\>subst R: "H:\Portable Masm32"

H:\>r:

R:\>cd masm32\sample

R:\masm32\sample>Build.bat

R:\masm32\sample>\masm32\bin\ml /c /coff test.asm
Microsoft (R) Macro Assembler Version 6.14.8444
Copyright (C) Microsoft Corp 1981-1997.  All rights reserved.

Assembling: test.asm

***********
ASCII build
***********

R:\masm32\sample>\masm32\bin\polink /SUBSYSTEM:WINDOWS test.obj


The folder H:\Portable Masm32 contains a copy of the Masm32 installation :

H:\Portable Masm32\masm32

H: is a ramdisk drive and this system works like a "virtual" Masm32 installation.

avcaballero

Ah, right. You separate compiling from linking. If I'm not wrong in previous versions it was needed to change the path value, but maybe only for compiling-linking at once.

Subst is great, but it creates a virtual drive.

jWasm is portable, but what about inc/libs? Does PoAsm have them? Is PoAsm compatible with masm?

Seriously, what about just decompress in a folder?

Regards

Vortex

I don't separate anything. All what you need to do is to specify the correct paths without drive symbols :

.386
.model flat,stdcall
option casemap:none

include     \masm32\include\windows.inc
include     \masm32\include\kernel32.inc
include     \masm32\include\user32.inc
include     \masm32\include\masm32.inc

includelib  \masm32\lib\kernel32.lib
includelib  \masm32\lib\user32.lib
includelib  \masm32\lib\masm32.lib


What do you mean by saying that Jwasm is portable? ml.exe, Jwasm.exe and poasm.exe , all the three tools can work without any installation procedure. You can even place a copy of those executables into your USB drive. ( if this is what you mean by portable )

Jwasm is compatible with ml.exe  You can use all the include files and import libraries created for Masm. Japheth is maintaining Jwasm. ( with thanks to him. )

Poasm's macro engine differs from ml.exe as it has a bit different syntax but this should not be a problem. Without complicated macros, poasm can process Masm source code.

avcaballero

I have coded a lot of DOS .com masm code, hence always comes to my mind "ml /AT", sorry:


.MODEL TINY                 
.CODE                       
  ORG     100h               
Inicio:   jmp Entrada       
  msg     DB 'Hello World$'
  Entrada PROC               
    MOV   DX, OFFSET msg     
    MOV   AH, 9             
    INT   21h               
    MOV   AX, 4C00h         
    INT   21h               
  Entrada ENDP               
END Inicio


You can compile it just (no linker call explicitly) with
ml /AT Programa.asm

If you don't install masm32 package you haven't got libs, isn't it?. Well, once you have installed it you have them, but not before. If I don't wrong, that can be possible, you have to select drives c: or d: to do the installation, right?.

In short, once you have an installation of masm, you can get it portable, but not before.

Never mind, sorry for inconveniences.

Vortex

To create the import libraries, you can use a tool like Pelle's library manager polib.exe or def2lib.exe

A suitable solution for your case is to install the Masm32 package and then after create a .zip archive from the include files and import libraries. You can copy this archive to any other computer but you will need to reconstruct the include file \ import library folder hierarchy depending on your source codes.

Another solution : install Masm32 and create a SFX archive from the masm32 folder.

avcaballero

Let's suppose that I'm Crussoe that have lost in a remote island in the middle of Pacific ocean. A plane flies over the island and drops a new laptop that does not admit installations, but it has access to internet. Could I install masm in this laptop?

Besides, there're several beautiful natives girls walking near you in the nude, that demand your help. Ask: what would do you do with the laptop?:

a) You throw it far away with masm and run until the lady to give her your help
b) You will sit down and wait to view another plane
c) You sit down with your nice new laptop and will begin to do a lot of extraordinaries masm programs.
d) Others

... Well, forget this last things, they are only a joke... :biggrin: Thanks

Vortex

Well avcaballero before folks are running out of patience, could you please tell us what are you trying to achieve? I tried to present you some modest solutions. Don't ask other's help if you prefer amusing yourself with some jokes.

avcaballero

Well, don't get angry. I have told you thanks, that's all. I only asked if there were such thing, nothing more, in the case of the hypothetical Crusoe. Thanks for your help, I'm sorry for your time. That's right?

In short: simply forget it, and sincerely thank you. Ah, and don't get angry. A smile makes the day more bearable, it's all.

dedndave

the masm32 package is portable, once it has been properly installed
it is merely a matter of copying the masm32 folder to another location
and - it simplifies things if you know how to modify the PATH to include \masm32\bin

as for 16-bit programs, i added a couple batch files to my bin folder to help
one for 16-bit EXE's and one for 16-bit COM's
the trick there is - be sure to use a 16-bit linker for both

for 16-bit EXE's...
ml /c %1.asm
Link16 %1.obj,%1.com;


for 16-bit COM's...
ml /c %1.asm
Link16 /TINY %1.obj,%1.com;


as for the pretty native girls...
i would probably like to toss the laptop into the ocean and chase the girls
at my age, i'd probably regret that, but the laptop batteries only last for so long, anyways
Dave - sitting on the beach - no computer - no girl - not a very happy thought   :(

avcaballero

Quote from: dedndave on October 24, 2012, 11:06:27 PM
as for the pretty native girls...
i would probably like to toss the laptop into the ocean and chase the girls
at my age, i'd probably regret that, but the laptop batteries only last for so long, anyways
Dave - sitting on the beach - no computer - no girl - not a very happy thought   :(

ha ha. Well, that's the idea: simply a smile. While I was typing the question I get noticed on so serious thing I was writing, that's all.

Well, thank you both, I'm sorry for your time, etc.

Friends?

goodbye