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

发布于 2022-09-04 08:41:25 字数 793 浏览 13 评论 0

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格式汇编,请问该如何改好

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文