Mercurial > hg-old > index.cgi
comparison lwasm/pseudo.c @ 350:f5666775d76f
Even more pseudo ops
author | lost@starbug |
---|---|
date | Sat, 27 Mar 2010 22:59:15 -0600 |
parents | dcd2978a7d18 |
children | 4dba8c7e242c |
comparison
equal
deleted
inserted
replaced
349:dcd2978a7d18 | 350:f5666775d76f |
---|---|
504 } | 504 } |
505 | 505 |
506 for (i = 0; i < l -> len; i++) | 506 for (i = 0; i < l -> len; i++) |
507 lwasm_emit(l, 0); | 507 lwasm_emit(l, 0); |
508 } | 508 } |
509 | |
510 PARSEFUNC(pseudo_parse_org) | |
511 { | |
512 lw_expr_t e; | |
513 | |
514 e = lwasm_parse_expr(as, p); | |
515 if (!e) | |
516 { | |
517 lwasm_register_error(as, l, "Bad operand"); | |
518 return; | |
519 } | |
520 | |
521 lw_expr_destroy(l -> addr); | |
522 l -> addr = e; | |
523 l -> len = 0; | |
524 } | |
525 | |
526 PARSEFUNC(pseudo_parse_equ) | |
527 { | |
528 lw_expr_t e; | |
529 | |
530 if (!(l -> sym)) | |
531 { | |
532 lwasm_register_error(as, l, "Missing symbol"); | |
533 return; | |
534 } | |
535 | |
536 e = lwasm_parse_expr(as, p); | |
537 if (!e) | |
538 { | |
539 lwasm_register_error(as, l, "Bad operand"); | |
540 return; | |
541 } | |
542 | |
543 register_symbol(as, l, l -> sym, e, symbol_flag_none); | |
544 l -> symset = 1; | |
545 } |