免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: Arthur_
打印 上一主题 下一主题

想問問這樣的問題 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-06-19 16:05 |显示全部楼层 |倒序浏览
32可用积分
簡單描述一下:

I want to use AT&T in mipsel-linux kernel2.4.20 and  glibc-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 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2007-06-20 08:57 |显示全部楼层
原帖由 MMMIX 于 2007-6-19 18:48 发表于 2楼  

还是直接用中文描述你的问题吧,要练英文可以直接去英文的邮件列表/IRC。



好, 我之前就是中文, 後來有到郵件列表裡面問, 後來有拿出來問
所以沒有翻譯過來


順便說一下, 我才懶得鍊英文.你別有意見

论坛徽章:
0
3 [报告]
发表于 2007-06-20 08:58 |显示全部楼层
原帖由 mik 于 2007-6-19 22:44 发表于 3楼  



你应该先了解 mips 方面的指令吧



我是這方面的新手, 可以提供參考資料碼.

论坛徽章:
0
4 [报告]
发表于 2007-06-20 12:05 |显示全部楼层
原帖由 MMMIX 于 2007-6-20 11:23 发表于 7楼  

没有什么意见。只是你的英文表述不太清楚而已。



哦. 這樣啊
tt

论坛徽章:
0
5 [报告]
发表于 2007-06-20 14:08 |显示全部楼层
原帖由 Garyyin 于 2007-6-20 13:39 发表于 10楼  
路过,学习一下,
顺便问问楼主,你做什么产品的啊,都需要研究MIPS指令集?



具體說應該是mipsel

wireless router 上的

gcc 內嵌彙編不知道怎麼不耗用

如果我加__volatile__就說不兼容錯誤.

我想知道為甚麼.

我的glibc是2.2的難道不支持碼?

另, 我東西已經做完了現在初在測試階段.不過有幾個像這樣的問題還沒有清楚, 所以想問問

我剛接觸這行, 懂的不是很多, 所以說話沒有邊界, 請見諒

论坛徽章:
0
6 [报告]
发表于 2007-06-20 18:00 |显示全部楼层
原帖由 bluster 于 2007-6-20 17:10 发表于 12楼  

把加上__volatile__时报的错误帖上来,还有就是,如果想解决问题,仔细的看别人的回复。
你如果不care别人的回复,还是不要寄希望于bbs了。



說在前面的話,

個位大俠的每個留言我都去研究了, 有些去做了驗證.ok!


程序結構大概這樣:
在inline函數中定義上面的代碼(加上__volatile__),但是沒有在主程序中調用它, 然後編譯沒有錯誤.
問題是下面:
當我在主程序任何一個地方調用它後出現如下錯誤:
inconsistent operand constraints in an 'asm'

後來我不得不把__volatile__去掉然後編譯通過, 但是程序執行結果不正確

论坛徽章:
0
7 [报告]
发表于 2007-06-20 18:02 |显示全部楼层
如果可以幫我的話, 需要甚麼測試條件隨便說

我這裡設備全的很.

论坛徽章:
0
8 [报告]
发表于 2007-06-21 09:07 |显示全部楼层
objdump後看不到, 看來真是有問題

下面是mipsel裡面的一段彙編, 跟我的格式不一樣,正在研究中.

static __inline__ char *strcpy(char *__dest, __const__ char *__src)
025 {
026   char *__xdest = __dest;
027
028   __asm__ __volatile__(
029         ".set\tnoreorder\n\t"
030         ".set\tnoat\n"
031         "1:\tlbu\t$1,(%1)\n\t"
032         "addiu\t%1,1\n\t"
033         "sb\t$1,(%0)\n\t"
034         "bnez\t$1,1b\n\t"
035         "addiu\t%0,1\n\t"
036         ".set\tat\n\t"
037         ".set\treorder"
038         : "=r" (__dest), "=r" (__src)
039         : "0" (__dest), "1" (__src)
040         : "memory");
041
042   return __xdest;
043 }

论坛徽章:
0
9 [报告]
发表于 2007-06-21 09:23 |显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP