home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
JSAGE
/
ZSUS
/
PROGPACK
/
TOHEX.LBR
/
TOHEX.DQC
/
TOHEX.DOC
Wrap
Text File
|
2000-06-30
|
2KB
|
50 lines
TOHEX
I have been using Microsoft's M80 assembler to generate a
custom bios for my system. There are problems in using an
otherwise fine product for this purpose, namely L80. L80 will not
link a file which is targeted beyond the TPA of the current
system. Also, to just get an executable file, L80 is both slow
and complicated in places where it will do the job.
Most of my assembly programming efforts are small programs.
By this I mean that they consist of only one module. There are no
EXTERN/PUBLIC symbols to be resolved, They are ORG'ed to where I
want them to be, and require no relocation.
This program allows me to convert a program created with a
few constraints directly from a REL file to a HEX file. It does
not care where in memory the HEX file is to be loaded, and it
does no relocation. (Have you ever used ORG 100H in an M80 file
and then found those 256 unused bytes and a jump to 203H after
linking?) I know that all of that stuff can be overridden in the
linker, but give me a break, I LIKE load-and go.
TO USE IT
In order to use this conversion utility, there are a few
constraints on your assembly language files.
1. They can only contain CSEG and ASEG directives. When
using TOHEX, CSEG and ASEG are identical.
2. They cannot contain any ENTRY,PUBLIC,EXTERN or COMMON
symbols.
Assemble your file using M80:
M80 FUBAR=FUBAR
You will now have FUBAR.REL . Now run TOHEX.
TOHEX FUBAR.REL FUBAR.HEX
Now, either run DDT FUBAR.HEX or LOAD FUBAR. For a CBIOS you have
the HEX file to be merged with CPMxx.COM and you are ready to
generate a new system.
Enjoy.
Ed Ganger
605 Laurel Ave
Johnson City, TN 37604
(615)929-7053
It is requested that if you modify and distribute this software,
you share the blame. I don't want midnite calls for bugs I did
not bring into the world. Actually, I don't want midnite calls
for bugs I created, either. 1800-2200 Eastern Time, please. Thank
you.