2 problems

Peter Johnson peter at tortall.net
Sun Aug 19 14:14:15 PDT 2007


On Sun, 19 Aug 2007, dave wrote:
> yasm fasm.asm -f elf64
> system.yinc:102: instruction expected after label
> 	[open:   push    esi edi ebp  ]
> system.yinc:124: instruction expected after label
> 	[     path_char_ok:
>        stos    byte [edi]
> ]
> system.yinc:131: instruction expected after label
> ../version.inc:39: instruction expected after label
> fasm.asm:214: warning: value does not fit in 8 bit field
> ../expressi.inc:29: redefinition of `stos'
> system.yinc:124: `stos' previously defined here
> ../expressi.inc:60: redefinition of `stos'
> system.yinc:124: `stos' previously defined here
> ../expressi.inc:67: redefinition of `stos'
> system.yinc:124: `stos' previously defined here
> ../expressi.inc:69: redefinition of `stos'
> system.yinc:124: `stos' previously defined here
> ../expressi.inc:71: redefinition of `stos'

You must use "stosb" (or if you're paranoid, "a32 stosb") rather than 
"stos byte [edi]".  Yasm (and NASM) do not support the latter syntax.

Most likely this is what's causing the "instruction expected after label" 
errors too; e.g.:
label: stos byte [edi]
Will generate this error, as stos isn't an instruction.

Peter


More information about the yasm-devel mailing list