請問MMX與GCC C & ASM的問題
最近作專題要編譯一個程式:
http://iie.fing.edu.uy/investigacion/grupos/gmm/proyectos/tararira/ingles.php3
不過這程式是用C語言與x86指令寫的,
這程式的原作者似乎是用gcc 3編譯的。
可是我手邊的機器多是用gcc 4,
結果編譯的時候出現一堆問題,我試著看看自己有沒有能力修正。
之前也沒有用過MMX與GCC C & ASM,只在MASM上寫過一點x86。
我現在遇到一個問題,
就是以下我自己寫的一個小程式為什麼無法用gcc編譯成功呢?
我的編譯器是gcc 4.0.3,編譯的時候出現這個錯誤:
gcc test.c -mmmx
test.c: In function 'main':
test.c:9: error: impossible register constraint in 'asm'
test.c:15: confused by earlier errors, bailing out
~~~~~~~~~~~~~~~~~~~ test.c ~~~~~~~~~~~~~~~~~~~~
#include <stdlib.h>
#include <stdio.h>
int main ()
{
double a, b;
a = 5.0;
b = 0.0;
asm (
"movq %1, %0 \n\t"
: "=y" (b)
: "m" (a));
printf ("Hello world.: %6.2f\n", b);
return 0;
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
『: "=y" (b)』那一行我是參考這篇文章設定的:
http://gcc.gnu.org/onlinedocs/gcc-4.1.2/gcc/Machine-Constraints.html#Machine-Constraints
或者縮減網址:
http://0rz.tw/ce2AA
希望有高手能幫我解答,謝謝。
--
Albert Einstein :
If there is any religion that could cope with modern scientific needs it
would be Buddhism.
《金剛經》一切有為法 如夢幻泡影 如露亦如電 應作如是觀
http://web.cc.ncu.edu.tw/~93501025/jg.doc
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.130.69
※ 編輯: zxvc 來自: 140.115.130.69 (04/24 17:14)
※ 編輯: zxvc 來自: 140.115.130.69 (04/24 17:15)
→
04/24 18:34, , 1F
04/24 18:34, 1F
推
04/24 19:37, , 2F
04/24 19:37, 2F
推
04/24 19:41, , 3F
04/24 19:41, 3F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 4 篇):
ASM 近期熱門文章
PTT數位生活區 即時熱門文章