[Nasm-bugs] [Bug 3392826] NASM Listing address defect if [org VALUE] not zero

noreply-nasm at dev.nasm.us noreply-nasm at dev.nasm.us
Tue Dec 6 09:50:07 PST 2022


https://bugzilla.nasm.us/show_bug.cgi?id=3392826

--- Comment #7 from C. Masloch <pushbx at ulukai.org> ---
(In reply to Erdogan Tan from comment #6)
> Please notice that this this multi section (raw) binary file  method which
> microsoft used it as kernel (MSDOS.SYS and IO.SYS) file..
> 
> And MASM has many files, methods, macros to produce final kernel or dos bios
> (io.sys) file.. (MSDOS5.TXT contains comments about them)..
> 
> NASM produces MSDOS kernel easily (more clever ans simpler than MASM) via
> 'incbin' feature and also 'section .code' 'section .data' methods
> ('vstart=0' is needed if data section is after the code section in
> binary/sys file.)
> 
> You can add listing option to NASM (option: use addresses as memory layout
> or as file offset).
> 
> Please add a feature to NASM to assemble source code wsith multiple section 
> without using 'incbin'. (So with section declaration, or with repeteive ORG
> declarition -NASM does not permit a second ORG in source code file-) 
> 
> After that, free-executable-format binary file production will be possible
> with NASM (file will not have to ELF file or COFF file etc. And -for some
> applications- relocation will not be required. OBJECT file linking will not
> be required) 

This is already possible using the multi-section bin format output of NASM. You
can write things like MZ .EXE headers and relocations in one section, then set
up one or multiple other sections using start=/vstart=/follows=/vfollows=
attributes to the section directive. I routinely use very complicated
sectioning in my programs, eg
https://hg.pushbx.org/ecm/ldebug/file/59230c07f5ce/source/debug.asm#l114

-- 
You are receiving this mail because:
You are watching all bug changes.
You are on the CC list for the bug.


More information about the Nasm-bugs mailing list