如何在程序集x86_64Linux,gas语法中创建简单的子线程?

问题描述

如何在第二个线程中移动“计算”功能?请给我一个简单的例子,并详细说明它是如何工作的。我试图在网络上搜索一些代码示例,但没有结果。

.data
.balign 16
vectorA: .double 4.0,4.0
vectorB: .double 2.0,2.0

.text
.globl main,compute
main:
  pushq %rbp
  movq %rsp,%rbp
  callq compute
  xorq %rax,%rax
  popq %rbp  
  retq

compute:
  pushq %rbp
  movq %rsp,%rbp
  movapd vectorA(%rip),%xmm0
  movapd vectorB(%rip),%xmm1
  movq $1000000000,%rcx
  lp:
    mulpd %xmm1,%xmm0
    divpd %xmm1,%xmm0
  loop lp
  popq %rbp
  retq

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)