请问at&t汇编格式下的do_div,换成intel汇编格式,该如何写?

1 linux内核汇编do_div

#define do_div(n, base)                        \
({                                \
    unsigned long __upper, __low, __high, __mod, __base;    \
    __base = (base);                    \
    asm("":"=a" (__low), "=d" (__high) : "A" (n));        \
    __upper = __high;                    \
    if (__high) {                        \
        __upper = __high % (__base);            \
        __high = __high / (__base);            \
    }                            \
    asm("divl %2":"=a" (__low), "=d" (__mod)        \
        : "rm" (__base), "0" (__low), "1" (__upper));    \
    asm("":"=A" (n) : "a" (__low), "d" (__high));        \
    __mod;                            \
})

2 这是AT&T格式的汇编,现在想移植到VC的项目中,改成Intel格式汇编,请问该如何改好

阅读 3.1k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题