Hi,
I am the current maintainer of the SPITBOL language,
http://github.com/hardbol/spitbol. It is written in a portable assembly language, based in part on SPITBOL/360 which was written in assembly language. It's the fastest implementation of SNOBOL4 ever.
I've just finished the port for 64-bit Unix, so now have Unix versions for both x86 and x64. (I did port for CDC 6600 many years ago, and also worked on IBM PC port. There have been ports to DEC-10,PDP-11, Macintosh, Solaris, MIPS, etc.)
I'm now attempting port to OSX, which uses macho,not elf, format, and also requires use of 'rip' addressing.
I found one bug in NASM trying to compile my code. Cyril Gorcunov fixed that, and I think I'm close, but I could use some help.
Consider the sequence:
var dd 0
...
sub rcx,var
in which we want to subtract the address of var from rcx.
This fails assembly, due to the '32 bit address error' message.
I think the correct way is :
var dd 0
...
lea rax,[rel var]
sub rcx,rax
Is this right?
thanks,dave