Lines Matching refs:inst
684 bc_program_op(BcProgram* p, uchar inst) in bc_program_op() argument
691 size_t idx = inst - BC_INST_POWER; in bc_program_op()
952 bc_program_print(BcProgram* p, uchar inst, size_t idx) in bc_program_print() argument
957 bool pop = (inst != BC_INST_PRINT); in bc_program_print()
994 assert(inst != BC_INST_PRINT_STR); in bc_program_print()
1012 if (inst == BC_INST_PRINT_STR) bc_program_printChars(str); in bc_program_print()
1019 if (inst == BC_INST_PRINT) bc_vm_putchar('\n', bc_flush_err); in bc_program_print()
1055 bc_program_unary(BcProgram* p, uchar inst) in bc_program_unary() argument
1072 bc_program_unarys[inst - BC_INST_NEG](res, num); in bc_program_unary()
1082 bc_program_logical(BcProgram* p, uchar inst) in bc_program_logical() argument
1100 if (inst == BC_INST_BOOL_AND) in bc_program_logical()
1104 else if (inst == BC_INST_BOOL_OR) in bc_program_logical()
1113 switch (inst) in bc_program_logical()
1424 bc_program_assign(BcProgram* p, uchar inst) in bc_program_assign() argument
1432 bool ob, sc, use_val = BC_INST_USE_VAL(inst); in bc_program_assign()
1445 if (inst != BC_INST_ASSIGN && inst != BC_INST_ASSIGN_NO_VAL) in bc_program_assign()
1479 if (inst == BC_INST_ASSIGN) in bc_program_assign()
1494 if (BC_INST_IS_ASSIGN(inst)) in bc_program_assign()
1535 inst -= (BC_INST_ASSIGN_POWER_NO_VAL - BC_INST_ASSIGN_POWER); in bc_program_assign()
1543 bc_program_ops[inst - BC_INST_ASSIGN_POWER](l, r, l, scale); in bc_program_assign()
1669 size_t* restrict bgn, uchar inst) in bc_program_pushArray() argument
1687 if (inst == BC_INST_ARRAY) in bc_program_pushArray()
1721 bc_program_incdec(BcProgram* p, uchar inst) in bc_program_incdec() argument
1741 inst2 = BC_INST_ASSIGN_PLUS_NO_VAL + (inst & 0x01); in bc_program_incdec()
1857 bc_program_return(BcProgram* p, uchar inst) in bc_program_return() argument
1876 assert(BC_PROG_STACK(&p->results, ip->len + (inst == BC_INST_RET))); in bc_program_return()
1884 if (inst == BC_INST_RET) in bc_program_return()
1910 else if (inst == BC_INST_RET_VOID) res->t = BC_RESULT_VOID; in bc_program_return()
1951 bc_program_builtin(BcProgram* p, uchar inst) in bc_program_builtin() argument
1956 bool len = (inst == BC_INST_LENGTH); in bc_program_builtin()
1960 assert(inst >= BC_INST_LENGTH && inst <= BC_INST_IRAND); in bc_program_builtin()
1962 assert(inst >= BC_INST_LENGTH && inst <= BC_INST_IS_STRING); in bc_program_builtin()
1983 if (!len && (inst != BC_INST_SCALE_FUNC || BC_IS_BC) && in bc_program_builtin()
1984 inst != BC_INST_IS_NUMBER && inst != BC_INST_IS_STRING) in bc_program_builtin()
1990 if (inst == BC_INST_SQRT) bc_num_sqrt(num, &res->d.n, BC_PROG_SCALE(p)); in bc_program_builtin()
1993 else if (inst == BC_INST_ABS) in bc_program_builtin()
2005 else if (inst == BC_INST_IS_NUMBER || inst == BC_INST_IS_STRING) in bc_program_builtin()
2022 cond = ((inst == BC_INST_IS_STRING) == is_str); in bc_program_builtin()
2029 else if (inst == BC_INST_IRAND) in bc_program_builtin()
2412 bc_program_nquit(BcProgram* p, uchar inst) in bc_program_nquit() argument
2423 if (inst == BC_INST_QUIT) val = 2; in bc_program_nquit()
2676 bc_program_pushGlobal(BcProgram* p, uchar inst) in bc_program_pushGlobal() argument
2681 assert(inst >= BC_INST_IBASE && inst <= BC_INST_SCALE); in bc_program_pushGlobal()
2684 t = inst - BC_INST_IBASE + BC_RESULT_IBASE; in bc_program_pushGlobal()
2685 bc_program_pushBigdig(p, p->globals[inst - BC_INST_IBASE], t); in bc_program_pushGlobal()
2694 bc_program_globalSetting(BcProgram* p, uchar inst) in bc_program_globalSetting() argument
2700 assert((inst >= BC_INST_LINE_LENGTH && inst <= BC_INST_LEADING_ZERO) || in bc_program_globalSetting()
2701 (BC_IS_DC && inst == BC_INST_EXTENDED_REGISTERS)); in bc_program_globalSetting()
2703 assert(inst >= BC_INST_LINE_LENGTH && inst <= BC_INST_LEADING_ZERO); in bc_program_globalSetting()
2706 if (inst == BC_INST_LINE_LENGTH) in bc_program_globalSetting()
2711 else if (inst == BC_INST_GLOBAL_STACKS) in bc_program_globalSetting()
2717 else if (inst == BC_INST_EXTENDED_REGISTERS) in bc_program_globalSetting()
3029 uchar inst; in bc_program_exec() local
3095 BC_PROG_JUMP(inst, code, ip); in bc_program_exec()
3100 inst = (uchar) code[(ip->idx)++]; in bc_program_exec()
3105 bc_file_printf(&vm->ferr, "inst: %s\n", bc_inst_names[inst]); in bc_program_exec()
3110 switch (inst) in bc_program_exec()
3137 if (inst == BC_INST_JUMP || cond) in bc_program_exec()
3150 BC_PROG_JUMP(inst, code, ip); in bc_program_exec()
3169 BC_PROG_JUMP(inst, code, ip); in bc_program_exec()
3177 bc_program_incdec(p, inst); in bc_program_exec()
3178 BC_PROG_JUMP(inst, code, ip); in bc_program_exec()
3190 BC_PROG_JUMP(inst, code, ip); in bc_program_exec()
3199 bc_program_return(p, inst); in bc_program_exec()
3209 BC_PROG_JUMP(inst, code, ip); in bc_program_exec()
3224 bc_program_logical(p, inst); in bc_program_exec()
3225 BC_PROG_JUMP(inst, code, ip); in bc_program_exec()
3246 BC_PROG_JUMP(inst, code, ip); in bc_program_exec()
3255 BC_PROG_JUMP(inst, code, ip); in bc_program_exec()
3268 BcBigDig dig = vm->maxes[inst - BC_INST_MAXIBASE]; in bc_program_exec()
3270 BC_PROG_JUMP(inst, code, ip); in bc_program_exec()
3284 bc_program_globalSetting(p, inst); in bc_program_exec()
3285 BC_PROG_JUMP(inst, code, ip); in bc_program_exec()
3293 BC_PROG_JUMP(inst, code, ip); in bc_program_exec()
3301 bc_program_pushArray(p, code, &ip->idx, inst); in bc_program_exec()
3302 BC_PROG_JUMP(inst, code, ip); in bc_program_exec()
3311 bc_program_pushGlobal(p, inst); in bc_program_exec()
3312 BC_PROG_JUMP(inst, code, ip); in bc_program_exec()
3321 BC_PROG_JUMP(inst, code, ip); in bc_program_exec()
3337 bc_program_builtin(p, inst); in bc_program_exec()
3338 BC_PROG_JUMP(inst, code, ip); in bc_program_exec()
3355 BC_PROG_JUMP(inst, code, ip); in bc_program_exec()
3363 BC_PROG_JUMP(inst, code, ip); in bc_program_exec()
3374 r.t = BC_RESULT_ZERO + (inst - BC_INST_ZERO); in bc_program_exec()
3376 BC_PROG_JUMP(inst, code, ip); in bc_program_exec()
3387 bc_program_print(p, inst, 0); in bc_program_exec()
3393 BC_PROG_JUMP(inst, code, ip); in bc_program_exec()
3405 BC_PROG_JUMP(inst, code, ip); in bc_program_exec()
3422 bc_program_op(p, inst); in bc_program_exec()
3423 BC_PROG_JUMP(inst, code, ip); in bc_program_exec()
3434 bc_program_unary(p, inst); in bc_program_exec()
3435 BC_PROG_JUMP(inst, code, ip); in bc_program_exec()
3467 bc_program_assign(p, inst); in bc_program_exec()
3468 BC_PROG_JUMP(inst, code, ip); in bc_program_exec()
3490 BC_PROG_JUMP(inst, code, ip); in bc_program_exec()
3519 BC_PROG_JUMP(inst, code, ip); in bc_program_exec()
3527 BC_PROG_JUMP(inst, code, ip); in bc_program_exec()
3535 BC_PROG_JUMP(inst, code, ip); in bc_program_exec()
3543 BC_PROG_JUMP(inst, code, ip); in bc_program_exec()
3566 BC_PROG_JUMP(inst, code, ip); in bc_program_exec()
3574 cond = (inst == BC_INST_EXEC_COND); in bc_program_exec()
3586 BC_PROG_JUMP(inst, code, ip); in bc_program_exec()
3594 BC_PROG_JUMP(inst, code, ip); in bc_program_exec()
3602 BC_PROG_JUMP(inst, code, ip); in bc_program_exec()
3610 BC_PROG_JUMP(inst, code, ip); in bc_program_exec()
3618 BC_PROG_JUMP(inst, code, ip); in bc_program_exec()
3644 BC_PROG_JUMP(inst, code, ip); in bc_program_exec()
3652 bool copy = (inst == BC_INST_LOAD); in bc_program_exec()
3654 BC_PROG_JUMP(inst, code, ip); in bc_program_exec()
3663 BC_PROG_JUMP(inst, code, ip); in bc_program_exec()
3671 bc_program_nquit(p, inst); in bc_program_exec()
3681 BC_PROG_JUMP(inst, code, ip); in bc_program_exec()
3689 BC_PROG_JUMP(inst, code, ip); in bc_program_exec()
3797 uchar inst = (uchar) code[(*bgn)++]; in bc_program_printInst() local
3799 bc_vm_printf("Inst[%zu]: %s [%lu]; ", *bgn - 1, bc_inst_names[inst], in bc_program_printInst()
3800 (unsigned long) inst); in bc_program_printInst()
3802 if (inst == BC_INST_VAR || inst == BC_INST_ARRAY_ELEM || in bc_program_printInst()
3803 inst == BC_INST_ARRAY) in bc_program_printInst()
3807 else if (inst == BC_INST_STR) bc_program_printStr(p, code, bgn); in bc_program_printInst()
3808 else if (inst == BC_INST_NUM) in bc_program_printInst()
3814 else if (inst == BC_INST_CALL || in bc_program_printInst()
3815 (inst > BC_INST_STR && inst <= BC_INST_JUMP_ZERO)) in bc_program_printInst()
3818 if (inst == BC_INST_CALL) bc_program_printIndex(code, bgn); in bc_program_printInst()