如何在程序集x86_64(Linux,gas语法)中创建简单的子线程?
如何在第二个线程中移动“compute”函数?请给我一个简单的例子和一些细节如何工作。我试图在网上搜索一些代码示例,但没有结果如何在程序集x86_64(Linux,gas语法)中创建简单的子线程?,linux,multithreading,assembly,x86-64,system-calls,Linux,Multithreading,Assembly,X86 64,System Calls,如何在第二个线程中移动“compute”函数?请给我一个简单的例子和一些细节如何工作。我试图在网上搜索一些代码示例,但没有结果 .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 re
.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
您需要使用
clone
,请参阅。谢谢,希望我能理解nasm语法。相关:关于如何实际使用它以堆栈和函数指针启动另一个线程。