News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

EXE to COM file ERROR using EXE2BIN

Started by ravi, August 17, 2005, 03:54:26 AM

Previous topic - Next topic

ravi

hi to all  masmer's,
well i ned ur help again
i m trying to make a COM file butt b4 tht i need an exe file and MASM32 is not creating that exe file .
showing LINK error LINK2001:unresolved symbol.

here goes the code:

CODE_SEG SEGMENT

ASSUME CS:CODE_SEG,DS:CODE_SEG,ES:CODE_SEG
ORG 100h


mov ah,2
mov dl,5ah
int 21h
int 20h
CODE_SEG ENDS
end

hutch--

Ravi,

I moved the post to the 16 bit DOS forum so you would get more answers. The Workshop is for 32 bit code.
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

MichaelW

EXE2BIN is not necessary for the more recent 16-bit linkers. For the 16-bit linker available here:

http://spiff.tripnet.se/~iczelion/download.html

You can create a COM file with these command lines:

ML /c filename.asm
LINK16 /tiny filename.obj, filename.com;

The "filename.com" in the exefile field is not absolutely necessary, but it allows you to avoid the warning:

LINK : warning L4045: name of output file is 'filename.com'

Your code does not specify a start address of 100h, so the linker returns:

LINK : warning L4055: start address not equal to 0x100 for /TINY

Setting the value of the location counter with the ORG directive does not set the start address. You should add a label immediately before or after the ORG directive and add the label name to the END directive.

org 100h
start:
...
end start

eschew obfuscation

ravi

hi michael,
thanx for response.Acc. to your advice i downloaded LINK563 from icezlon's site but it is still not working.Do i need to download 1 bit linker ?
does MASM32  not support 16bit programs.
and  ML.exe  link16 will b available where?

are they come with Visual studio?
and thanx for clearing start address funda


ravi

well michael i got ml.exe in MASM32 -bin subdir and compiled at console successfully but LINK16 was not recognized.
what to do with it?

MichaelW

I'm not sure what you are doing. The download file LNK563.EXE is a self-extracting archive that contains the 16-bit linker and several other files. The 16-bit linker and the 32-bit linker have the same name, LINK.EXE, so if you extract the archive into the MASM32\bin directory the 32-bit linker will be overwritten. I normally place all of my 16-bit code in a separate directory along with the 16-bit linker renamed to LINK16.EXE (to avoid confusion), and copies of ML.EXE and ML.ERR from the MASM32\bin directory, and assemble and link with batch files.
eschew obfuscation

ravi

hi Michael,
i have assembledthe program as per ur instruction.

i m describing the event in the order of assembling:


  1.   assembled the prog in MASM32

   output :  ASM1.asm
 
  2.    link obj file using link generated
           by selfextracting lnk563   

    but fatal error L1101 : invalid object module.

I am attaching the dos screen for the detail analysis.   http://geocities.com/rvglove/asm1.zip

i have recently started to work on C interface with assembly using STEVE HOLZNeR's book
but i could not able to even  run a single and first program .

help me.

PBrennick

ravi,
Just my 2 cents;
Quoteoutput :  ASM1.asm
is not correct, the output should be asm1.obj

Please attach your entire project so Michael can help you better...

Paul
The GeneSys Project is available from:
The Repository or My crappy website

ravi

i have reattached asm1.asm file and also asm1.obj file.

and ur right pbrrenick assemble produces obj code of mnemonics that was my mistake.
thanks .
u can catch it or debug it as over this link:

http://www.geocities.com/rvglove/asm1.zip

MichaelW

ravi,

Using this batch file:

ML /c asm1.asm
pause
LINK16 /tiny asm1.obj,asm1.com;
pause
asm1.com
echo.
pause

Your code assembles and links without error. When executed it displays a 'Z' and then terminates. I added the final pause command so I could see the program output, and the '.echo' so the pause command would display on the next line.
eschew obfuscation

ravi

THANKX THANX THANK U very much MICHAEL!!!!!!

:dance:  Atleast i m up to second prog of the book.

I m feeling much lucky to be part of this forum ,"MASMFORUM"=="MYFORUM"

It's working now.

well wait ..........
U see now i will keep u busy ....... :bdg
hehe      :8)

minzkn

#11
EXE Overlap loader (EXE to BIN/COM)

Using EXE2KN.EXE -> Can do any exe file

This the large and huge model well! floated in order to use  the relocation loader like that, it converts.  To insert a relocation  loader in the front portion where the conversion wears out previous  report actually and it is to do as a favor a relocation from execution point of view.

http://minzkn.wowdns.com:2744/phpBB2/viewtopic.php?t=506