Lines Matching refs:operand

324 parse_reg (char *str, struct pdp11_code *operand)  in parse_reg()  argument
334 operand->code = *str - '0'; in parse_reg()
338 operand->error = _("Bad register name"); in parse_reg()
345 operand->code = 6; in parse_reg()
351 operand->code = 7; in parse_reg()
356 operand->error = _("Bad register name"); in parse_reg()
364 parse_ac5 (char *str, struct pdp11_code *operand) in parse_ac5() argument
377 operand->code = *str - '0'; in parse_ac5()
381 operand->error = _("Bad register name"); in parse_ac5()
387 operand->error = _("Bad register name"); in parse_ac5()
395 parse_ac (char *str, struct pdp11_code *operand) in parse_ac() argument
397 str = parse_ac5 (str, operand); in parse_ac()
398 if (!operand->error && operand->code > 3) in parse_ac()
400 operand->error = _("Bad register name"); in parse_ac()
408 parse_expression (char *str, struct pdp11_code *operand) in parse_expression() argument
415 seg = expression (&operand->reloc.exp); in parse_expression()
419 operand->error = _("Error in expression"); in parse_expression()
426 operand->reloc.pc_rel = 0; in parse_expression()
432 parse_op_no_deferred (char *str, struct pdp11_code *operand) in parse_op_no_deferred() argument
441 str = parse_reg (str + 1, operand); in parse_op_no_deferred()
442 if (operand->error) in parse_op_no_deferred()
447 operand->error = _("Missing ')'"); in parse_op_no_deferred()
453 operand->code |= 020; in parse_op_no_deferred()
458 operand->code |= 010; in parse_op_no_deferred()
465 str = parse_expression (str + 1, operand); in parse_op_no_deferred()
466 if (operand->error) in parse_op_no_deferred()
468 operand->additional = TRUE; in parse_op_no_deferred()
469 operand->word = operand->reloc.exp.X_add_number; in parse_op_no_deferred()
470 switch (operand->reloc.exp.X_op) in parse_op_no_deferred()
477 operand->reloc.type = BFD_RELOC_16; in parse_op_no_deferred()
478 operand->reloc.pc_rel = 0; in parse_op_no_deferred()
481 if (operand->reloc.exp.X_add_number > 0) in parse_op_no_deferred()
483 operand->error = _("Error in expression"); in parse_op_no_deferred()
487 know (operand->reloc.exp.X_add_number < 0); in parse_op_no_deferred()
489 operand->word = literal_float[0]; in parse_op_no_deferred()
494 operand->error = _("Error in expression"); in parse_op_no_deferred()
497 operand->code = 027; in parse_op_no_deferred()
505 str = parse_reg (str + 2, operand); in parse_op_no_deferred()
506 if (operand->error) in parse_op_no_deferred()
511 operand->error = _("Missing ')'"); in parse_op_no_deferred()
514 operand->code |= 040; in parse_op_no_deferred()
519 str = parse_expression (str, operand); in parse_op_no_deferred()
520 if (operand->error) in parse_op_no_deferred()
527 operand->code = 067; in parse_op_no_deferred()
528 operand->additional = 1; in parse_op_no_deferred()
529 operand->word = 0; in parse_op_no_deferred()
530 operand->reloc.type = BFD_RELOC_16_PCREL; in parse_op_no_deferred()
531 operand->reloc.pc_rel = 1; in parse_op_no_deferred()
537 str = parse_reg (str, operand); in parse_op_no_deferred()
538 if (operand->error) in parse_op_no_deferred()
545 operand->error = _("Missing ')'"); in parse_op_no_deferred()
550 operand->additional = TRUE; in parse_op_no_deferred()
551 operand->code |= 060; in parse_op_no_deferred()
552 switch (operand->reloc.exp.X_op) in parse_op_no_deferred()
555 operand->reloc.type = BFD_RELOC_16; in parse_op_no_deferred()
556 operand->reloc.pc_rel = 0; in parse_op_no_deferred()
559 if ((operand->code & 7) == 7) in parse_op_no_deferred()
561 operand->reloc.pc_rel = 1; in parse_op_no_deferred()
562 operand->word = operand->reloc.exp.X_add_number; in parse_op_no_deferred()
565 operand->word = operand->reloc.exp.X_add_number; in parse_op_no_deferred()
569 BAD_CASE (operand->reloc.exp.X_op); in parse_op_no_deferred()
579 parse_op_noreg (char *str, struct pdp11_code *operand) in parse_op_noreg() argument
582 operand->error = NULL; in parse_op_noreg()
586 str = parse_op_no_deferred (str + 1, operand); in parse_op_noreg()
587 if (operand->error) in parse_op_noreg()
589 operand->code |= 010; in parse_op_noreg()
592 str = parse_op_no_deferred (str, operand); in parse_op_noreg()
598 parse_op (char *str, struct pdp11_code *operand) in parse_op() argument
602 str = parse_reg (str, operand); in parse_op()
603 if (!operand->error) in parse_op()
606 operand->error = NULL; in parse_op()
607 parse_ac5 (str, operand); in parse_op()
608 if (!operand->error) in parse_op()
610 operand->error = _("Float AC not legal as integer operand"); in parse_op()
614 return parse_op_noreg (str, operand); in parse_op()
618 parse_fop (char *str, struct pdp11_code *operand) in parse_fop() argument
622 str = parse_ac5 (str, operand); in parse_fop()
623 if (!operand->error) in parse_fop()
626 operand->error = NULL; in parse_fop()
627 parse_reg (str, operand); in parse_fop()
628 if (!operand->error) in parse_fop()
630 operand->error = _("General register not legal as float operand"); in parse_fop()
634 return parse_op_noreg (str, operand); in parse_fop()