本文整理汇总了C++中do_insn函数的典型用法代码示例。如果您正苦于以下问题:C++ do_insn函数的具体用法?C++ do_insn怎么用?C++ do_insn使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了do_insn函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: do_bdc
static gpasmVal do_bdc(gpasmVal r,
const char *name,
int arity,
struct pnode *parms)
{
do_insn("btfsc", make_constant_list(3, 1));
do_insn("goto", parms);
return r;
}
示例2: do_subcf
static gpasmVal do_subcf(gpasmVal r,
const char *name,
int arity,
struct pnode *parms)
{
do_insn("btfsc", make_constant_list(3, 0));
do_insn("decf", parms);
return r;
}
示例3: do_lgoto
static gpasmVal do_lgoto(gpasmVal r,
const char *name,
int arity,
struct pnode *parms)
{
do_insn("pagesel", parms);
do_insn("goto", parms);
return r;
}
示例4: do_adddcf
static gpasmVal do_adddcf(gpasmVal r,
char *name,
int arity,
struct pnode *parms)
{
do_insn("btfsc", make_constant_list(3, 1));
do_insn("incf", parms);
return r;
}
示例5: do_negf
static gpasmVal do_negf(gpasmVal r,
char *name,
int arity,
struct pnode *parms)
{
do_insn("comf", add_symbol_constant(parms, 1));
do_insn("incf", parms);
return r;
}
示例6: do_lcall
static gpasmVal do_lcall(gpasmVal r,
char *name,
int arity,
struct pnode *parms)
{
do_insn("pagesel", parms);
do_insn("call", parms);
return r;
}
示例7: do_addcf
static gpasmVal do_addcf(gpasmVal r,
const char *name,
int arity,
struct pnode *parms)
{
gpvmessage(GPM_SPECIAL_MNEMONIC, NULL);
do_insn("btfsc", make_constant_list(3, 0));
do_insn("incf", parms);
return r;
}
示例8: do_negf
static gpasmVal do_negf(gpasmVal r,
const char *name,
int arity,
struct pnode *parms)
{
if ((arity == 1) || (arity == 2)) {
do_insn("comf", add_symbol_constant(parms, 1));
do_insn("incf", parms);
} else {
enforce_arity(arity, 2);
}
return r;
}
示例9: do_mode
static gpasmVal do_mode(gpasmVal r,
const char *name,
int arity,
struct pnode *parms)
{
if (enforce_arity(arity, 1)) {
struct pnode* val = HEAD(parms);
if ((val->tag == PTAG_CONSTANT) && (val->value.constant > 0x1f)) {
gpvwarning(GPW_RANGE, NULL);
val->value.constant &= 0x1f;
}
do_insn("movlw", parms);
do_insn("movwm", NULL);
}
return r;
}
示例10: do_b
static gpasmVal do_b(gpasmVal r,
char *name,
int arity,
struct pnode *parms)
{
do_insn("goto", parms);
return r;
}
示例11: do_tstf
static gpasmVal do_tstf(gpasmVal r,
char *name,
int arity,
struct pnode *parms)
{
do_insn("movf", add_symbol_constant(parms, 1));
return r;
}
示例12: do_movfw
static gpasmVal do_movfw(gpasmVal r,
const char *name,
int arity,
struct pnode *parms)
{
if (enforce_arity(arity, 1)) {
do_insn("movf", add_symbol_constant(parms, 0));
}
return r;
}
示例13: do_skpnz
static gpasmVal do_skpnz(gpasmVal r,
const char *name,
int arity,
struct pnode *parms)
{
if (arity) {
gpverror(GPE_TOO_MANY_ARGU, NULL);
}
do_insn("btfsc", make_constant_list(3, 2));
return r;
}
示例14: do_setdc
static gpasmVal do_setdc(gpasmVal r,
char *name,
int arity,
struct pnode *parms)
{
if (arity) {
gperror(GPE_TOO_MANY_ARGU, NULL);
}
do_insn("bsf", make_constant_list(3, 1));
return r;
}
示例15: do_lgoto
static gpasmVal do_lgoto(gpasmVal r,
char *name,
int arity,
struct pnode *parms)
{
int address = maybe_evaluate(HEAD(parms));
int page = gp_processor_check_page(state.device.class, address);
state.org += gp_processor_set_page(state.device.class,
page,
state.i_memory,
state.org);
do_insn("goto", parms);
return r;
}