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