How to access the address of index Ap using assembly

Started by
0 comments, last by DevFred 15 years, 9 months ago
I am trying to translate the clause xp[xi]/=Ap[Ai] to assembly code. At the first several statements, I want to assign Ap[Ai] to the low 64 bit of xmm1 as follows. asm volatile ("mov %[Ai], %%edx":: [Ai] "m" (Ai)); asm volatile ("shll $2, %edx"); asm volatile ("add %%ecx,%%edx":: "c" (Ap)); asm volatile ("movlpd (%edx),%xmm1"); But when the fourth statement is executed, segment fault occors. I trace the process of execution and suspect that the address of Ap is wrong. I am not sure that whether the third statement is right.
Advertisement
Quote:Original post by xinsan
I am trying to translate the clause xp[xi]/=Ap[Ai] to assembly code.

And why would you want to do that?

This topic is closed to new replies.

Advertisement