想問問這樣的問題
簡單描述一下:I want to use AT&T in mipsel-linux kernel2.4.20 andglibc-2.2, but it seems useless.
__asm__("rep; movsl\n\t"
:"&=c"(d0),"=&S"(d1),"=&D"(d2)
:"0"(n/4),"1"(from),"2"(to)
:"memory"
);
the result is empty.
see the detail:
http://linux.chinaunix.net/bbs/thread-901184-1-1.html
thanks !
[ 本帖最后由 Arthur_ 于 2007-6-20 18:01 编辑 ] 原帖由 Arthur_ 于 2007-6-20 18:00 发表于 13楼
說在前面的話,
個位大俠的每個留言我都去研究了, 有些去做了驗證.ok!
程序結構大概這樣:
在inline函數中定義上面的代碼(加上__volatile__),但是沒有在主程序中調用它, 然後編譯沒有錯誤.
問題是 ...
我建议你把编译出来的代码 objdump -d 一下,怀疑你的代码被编译器去掉了。
还有,mips应该是不能用这句汇编的(我对mips不熟悉,不过没记得有这种指令),我觉得可以像上面有人提到的那样找找Linux kernel中的汇编实现,即使不是inline的实现也没关系,一个函数调用没那么大的效率损失。 原帖由 Arthur_ 于 2007-6-19 16:05 发表于 1楼
簡單描述一下:
I want to use AT&T in mipsel-linux kernel2.4.20 andglibc-2.2, but it seems useless.
__asm__("rep; movsl\n\t"
:"&=c"(d0),"=& ...
还是直接用中文描述你的问题吧,要练英文可以直接去英文的邮件列表/IRC。 原帖由 Arthur_ 于 2007-6-19 16:05 发表于 1楼
簡單描述一下:
I want to use AT&T in mipsel-linux kernel2.4.20 andglibc-2.2, but it seems useless.
__asm__("rep; movsl\n\t"
:"&=c"(d0),"=& ...
你应该先了解 mips 方面的指令吧 原帖由 MMMIX 于 2007-6-19 18:48 发表于 2楼
还是直接用中文描述你的问题吧,要练英文可以直接去英文的邮件列表/IRC。
好, 我之前就是中文, 後來有到郵件列表裡面問, 後來有拿出來問
所以沒有翻譯過來
順便說一下, 我才懶得鍊英文.你別有意見 原帖由 mik 于 2007-6-19 22:44 发表于 3楼
你应该先了解 mips 方面的指令吧
我是這方面的新手, 可以提供參考資料碼. 我看这句asm像是x86的汇编,这种mips(是mips么?我不懂)的板子能用x86的汇编?
还有,如果不希望编译器动你的代码,一般这么写
__asm__ __volatile__ (...)
另外,可以看Linux kernel 下面 arch/mips/lib/memcpy.S 中的汇编实现
[ 本帖最后由 bluster 于 2007-6-20 10:56 编辑 ] 原帖由 Arthur_ 于 2007-6-20 08:57 发表于 4楼
好, 我之前就是中文, 後來有到郵件列表裡面問, 後來有拿出來問
所以沒有翻譯過來
順便說一下, 我才懶得鍊英文.你別有意見
没有什么意见。只是你的英文表述不太清楚而已。 原帖由 MMMIX 于 2007-6-20 11:23 发表于 7楼
没有什么意见。只是你的英文表述不太清楚而已。
哦. 這樣啊
tt 学会用英文表述问题是个好习惯
页:
[1]
2