← Back to team overview

gnusim8085-devel team mailing list archive

[Bug 579336] Re: Assembler Enhancements

 

There are a number of bugs and patches related to this:

https://bugs.launchpad.net/gnusim8085/+bug/579316
https://bugs.launchpad.net/gnusim8085/+bug/579367
https://bugs.launchpad.net/gnusim8085/+bug/579368

-- 
Assembler Enhancements
https://bugs.launchpad.net/bugs/579336
You received this bug notification because you are a member of
GNUSim8085 developers, which is subscribed to gnusim8085.

Status in gnusim8085: New

Bug description:
There are some minor things that could be improved on in the current assembler implementation.R Error messages are currently not very useful, in fact their line numbers are often apparently offset by +1.

Also, using wrong operands will often wrongly report an invalid mnemonic.

In this sense, assuming that it would be difficult to improve such things in the short run, it might make sense to provide a separate, more detailed, log that contains more information about the assembly process. So that each step of the assembler is interactively shown:

1: found comment, skipping to next line
2: found supported mnemonic "mvi", (expecting reg,immediate): found reg,reg
3: found unknown token "foo"

Something like this would at least have the potential to allow users to see clearly where the assembler stopped succeeding with assembling the file.

Also, other 8085 assemblers often support direct ways to provide numbers using a different notation:
  mvi a,14h
  mvi a,14d
  mvi a,01110011b

Also, the "db" directive usually also supports providing the corresponding bytes as quoted strings of characters:

data: db 'hello world',0A,0D,'$'
dat2: db "foo"

In its current form the assembler also isn't able to compute offsets for labels defined after the position of the current instruction:

  mvi a,5
start: nop
  cmp 5
  jz exit ;ERROR: exit not known because no multipass support in assembler
exit: