digitalmars.D.bugs - Inline assembler bugs
- Artem Rebrov (21/21) Feb 15 2006 Example:
- Walter Bright (7/27) Feb 17 2006 Labels are in a separate symbol table from variables, hence they don't w...
Example:
void main()
{
asm
{
q1: nop;
}
}
Probably documentation bugs (iasm.html):
1) Symbol $$ described as address instruction following the current
instruction. Example from doc (jmp $$;) ouputs error "end of instruction",
but "jmp $;" works (in dmc too).
2) Grammar fot the operands allows something like this "mov EAX%EBX+ECX,
EDX-ESI+EDI". :)
--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
Feb 15 2006
"Artem Rebrov" <ar_other mail.ru> wrote in message news:op.s407k7zlncj208 comp...Example: void main() { asm { q1: nop; } }Labels are in a separate symbol table from variables, hence they don't work in inline asm unless used as jmp or call operands.EAX,0". Probably documentation bugs (iasm.html): 1) Symbol $$ described as address instruction following the current instruction. Example from doc (jmp $$;) ouputs error "end of instruction", but "jmp $;" works (in dmc too).Doc bug.2) Grammar fot the operands allows something like this "mov EAX%EBX+ECX, EDX-ESI+EDI". :)The grammar is a mess, unfortunately it resists conversion to something like bnf.
Feb 17 2006








"Walter Bright" <newshound digitalmars.com>