Hi,

For those of you who know sourceforge: I just started a new project there,
called `the MSX Z80 assembler'. It is an opensource initiative to make a
cross assembler with the MSX as target platform. Currently it is written
in C, POSIX compiant I hope.

I still need 2 things to be done though. I will post it via sourceforge as
well, but I think people owning an MSX know more about it and therefore
will be more helpful.

First thing is that the assembler needs to be tested. If anyone has a
large piece of code to run through the assembler and then diff it with a
binairy made with a `trusted' assembler, I would be very happy. However,
there is more to it then just that. The way numbers are written may be
different. Here's how my assembler does it:
starting with a number 0-9, a hexadecimal number is expected.
starting with %, a decimal number is expected.
starting with @, an arbitrary base (2-36) number is expected. first
character is the base (10-1 in the desired base), the rest is the number.
eg to write an octal number, you can use @7nnn. @fxx is an alternative way
of writing hexadecimal numbers.

Second thing is that I want header files for use with the assembler. I
want it to be used in combination with the gcc preprocessor, so #includes
can be made. Those header files should contain system variables, bios
addresses, i/o-port numbers, etc. If anyone is interested in writing them
(or help improving the source of the assembler), mail me directly or via
sourceforge.

Thank you for reading and I hope you all like the initiative. If you have
any comments whatsoever about the assembler, please mail me personally or
place a message in the forum on the site.

my project can be found on http://sourceforge.net/projects/msxz80asm

Bye,

 main(){int  c[4]   ,x=4  ,l=getpid()  ,i;;   for(  srand(l);c[  x]=-   rand
()%6         ,x--   ;);;  for(         ;44>   x;){  char         a[9] ,*p=
 "%.1f\n",   b[9];x=i=0;  gets(a);for   (l=4 ;l--   ;)x+=-(a[l]  -=48)==
       (b[l  ]=c[   l]);  ;for           (l=0;16    >i;l         =++i %4)x
+=(b[i/4]+   a[l]   ?0:(  a[l]=b[i/4]     =10))     ;printf(p,x  *.1)   ;};}



****
Problems? contact [EMAIL PROTECTED] See also http://www.faq.msxnet.org/
****

Reply via email to