有关linux源代码中的汇编语言的问题

发布于 2022-10-01 22:44:01 字数 1419 浏览 14 评论 0

static __inline__ void *memcpy(void *to, const void *from,size_t n)
{
     int  d0, d1, d2;
     __asm__ __vloatile__(
         "rep; movsl\n\t"
         "testb $2  %b4\n\t"  //这个地方的%b4是什么意思,如果4是指地第四个操作数,那前面的哪个b有是什么意思!
         "je lf\n\t"
          "movsw\n"
          "1: \ttestb $1 %b4\n\t"  
          "je 2f\n\t"
          "movsb\n"
          "2:"
          : "=&c" (d0),  "=&D" (d1), "=&S" (d2)
          : "0" (n/4), "q" (n), "1" ((long) to), "2" ((long) from)
          :"memory";
      return (to);
}

上面程序testb $1 %b4中的的%b4是什么意思,如果4是指地第四个操作数,那前面的哪个b有是什么意思。请各位大侠高手多多指教呀!

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

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

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

坚持沉默 2022-10-08 22:44:01

不懂,关注中…………

迷你仙 2022-10-08 22:44:01

带%的是寄存器,很多地方都有介绍的

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文