如何在不调用编译器实现的情况下内嵌汇编?
  • 板块学术版
  • 楼主HanPi
  • 当前回复7
  • 已保存回复7
  • 发布时间2021/6/9 09:06
  • 上次更新2023/11/4 22:07:33
查看原帖
如何在不调用编译器实现的情况下内嵌汇编?
361078
HanPi楼主2021/6/9 09:06

rt

我看tcc的实现是可以的,但不知道原理:

其中的 o(),oad() 等都是tcc实现的函数,但它为什么可以起到类似内嵌汇编的效果呢?

/* XXX: make it faster ? */
ST_FUNC void g(int c)
{
    int ind1;
    if (nocode_wanted)
        return;
    ind1 = ind + 1;
    if (ind1 > cur_text_section->data_allocated)
        section_realloc(cur_text_section, ind1);
    cur_text_section->data[ind] = c;
    ind = ind1;
}

ST_FUNC void o(unsigned int c)
{
    while (c) {
        g(c);
        c = c >> 8;
    }
}
2021/6/9 09:06
加载中...