Re: NASM

Simon Tatham (anakin@pobox.com)
Sun, 26 Jan 1997 09:45:10 GMT


"Arthur D. Jerijian" <adj@csua1.cs.ucla.edu> writes:
> I have found the following announcement on comp.os.linux.announce. Would
> any of you suppose that the 16-bit boot and setup code in the Linux
> kernel could be adapted to use this assembler, or will bin86 continue
> to be supported for some time to come?

I was hoping someone would suggest that :-)

I can't help noticing in bootsect.S code looking like

#define CALL_HIGHLOAD_KLUDGE .word 0x1eff,0x220 ! call far * bootsect_kludge
! NOTE: as86 can't assemble this
CALL_HIGHLOAD_KLUDGE ! this is within setup.S

which implements an instruction that as86 can't cope with. After I
saw that, I went to some lengths to ensure NASM _can_ assemble that
kind of instruction.

Furthermore, since NASM can generate pure binary files, there may be
no need to go through the ld86 link phase.

OTOH, NASM has no intrinsic preprocessor yet, but cpp is still
usable (and might work out better in the kernel sources, just so
that include files can be shared between C and asm files).

In summary: I've made efforts to make NASM an ideal assembler for
assembling the kernel boot code, but I'm not going to force it on
anyone. I'm going to get out of this discussion now, in fact, before
I get accused of shameless plugging :-)

Cheers,

<^ I /\/\ O /\/ Simon Tatham <sgt20@cam.ac.uk> <anakin@pobox.com>
_> ------------ Trinity College, Cambridge, CB2 1TQ, England.