About input_scrub_next_buffer() for input_line_pointer
Ian Lance Taylor
Mon Jul 19 13:39:00 GMT 2004
libra <email@example.com> writes:
> The difference is that when i add "(1,1) in front of the b (loop)",
> the SPACE between "b" and "(loop)" disappear.
> We need the SPACE between b and (loop), in order to separate the instruction
> and operand.
> Anyone can tell me what happen?
Take a look at do_scrub_chars() in gas/app.c. It processes the input
to eliminate redundant spaces, to simplify the instruction parsing
code. In your case it has gotten confused by the initial "(1,1)". It
sounds like your assembly syntax is nonstandard, and will require some
modifications in do_scrub_chars(). There are a number of other
nonstandard syntaxes--look at the various #ifdefs in that function.
More information about the Binutils