Mercurial > hg > index.cgi
comparison lwasm/insn_gen.c @ 380:17fcd0c3ee45
Allow multibyte ascii constants in m80ext mode
Allow multibyte ascii constants using ' in m80ext mode, with the allowed
size depending on the actual size of the register being referenced.
Thanks to Erik G <erik@6809.org> for the patch.
author | William Astle <lost@l-w.ca> |
---|---|
date | Mon, 13 Jul 2015 21:04:39 -0600 |
parents | 35d4213e6657 |
children | 2d9b7ae6c329 |
comparison
equal
deleted
inserted
replaced
379:d791d47afc48 | 380:17fcd0c3ee45 |
---|---|
318 insn_emit_gen_aux(as, l, -1); | 318 insn_emit_gen_aux(as, l, -1); |
319 } | 319 } |
320 | 320 |
321 PARSEFUNC(insn_parse_gen8) | 321 PARSEFUNC(insn_parse_gen8) |
322 { | 322 { |
323 l -> genmode = 8; | |
323 if (**p == '#') | 324 if (**p == '#') |
324 { | 325 { |
325 lw_expr_t e; | 326 lw_expr_t e; |
326 | 327 |
327 (*p)++; | 328 (*p)++; |
391 insn_emit_gen_aux(as, l, -1); | 392 insn_emit_gen_aux(as, l, -1); |
392 } | 393 } |
393 | 394 |
394 PARSEFUNC(insn_parse_gen16) | 395 PARSEFUNC(insn_parse_gen16) |
395 { | 396 { |
397 l -> genmode = 16; | |
396 if (**p == '#') | 398 if (**p == '#') |
397 { | 399 { |
398 lw_expr_t e; | 400 lw_expr_t e; |
399 | 401 |
400 (*p)++; | 402 (*p)++; |
452 insn_emit_gen_aux(as, l, -1); | 454 insn_emit_gen_aux(as, l, -1); |
453 } | 455 } |
454 | 456 |
455 PARSEFUNC(insn_parse_gen32) | 457 PARSEFUNC(insn_parse_gen32) |
456 { | 458 { |
459 l -> genmode = 32; | |
457 if (**p == '#') | 460 if (**p == '#') |
458 { | 461 { |
459 lw_expr_t e; | 462 lw_expr_t e; |
460 | 463 |
461 (*p)++; | 464 (*p)++; |