2013-09-03 1 views
0

숫자가있는 64 비트 레지스터를 xmm 레지스터로 이동하는 데 사용할 코드를 알고 싶습니다. 내 생각이었다xmm으로 쿼드 워드 이동

`movsd xmm1, [r14]` 

그러나 나는 segmentation fault: 11가 계속.

Mac OS-X에서 NASM x86을 사용하고 있습니다.

누군가 도와주세요.

+0

'movsd xmm1, r14'을 (를) 사용 하시겠습니까? –

+0

방금 ​​시도했는데 여전히 세그먼트 결함이 발생합니다. – GolfinGamer

답변

2

movsd xmm1, [r14]주소에서 double을로드하려고하면 r14에 저장됩니다. 그것은 당신이 원하는 것이 아닙니다. 대신, 다음을 사용하십시오 :

movq xmm1, r14 
+0

여전히 세그먼트 화 오류가 발생합니다. – GolfinGamer

+0

@GolfinGamer : 메모리 액세스가 없기 때문에 명령이 세그 폴트 할 수 없습니다. 잘못 입력했거나 버그가 다른 곳에 있습니다. 'r14', * [* r14]가 아니라는 점에 유의하십시오. –

+0

segfault가 중지되었지만 프로그램이 작동하지 않습니다. 나는 r14의 가치가 올바른 가치를 얻고 있다고 생각하지 않는다. 하지만 도움을 주셔서 감사합니다. 이것은 내가 필요한 코드의 정확한 라인입니다 – GolfinGamer