| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1211 人关注过本帖
标题:ubuntu的at&t汇编--gas无法使用识别mmx寄存器
取消只看楼主 加入收藏
xuzejia_love
Rank: 2
等 级:论坛游民
帖 子:41
专家分:49
注 册:2010-12-5
结帖率:100%
收藏
已结贴  问题点数:8 回复次数:4 
ubuntu的at&t汇编--gas无法使用识别mmx寄存器
# mmxtest.s - An example of using mmx data types
    .section .data
    values1:
    .int 1,-1
    values2:
    .byte 0x10,0x05,0x32,0x47,0xe4,0x00,0x01
    .section .text
    .globl _start
_start:
    nop
    movq values1,%mmx0
    movq values2,%mmx1
    movl $1,%eax
    movl $0,%ebx
    int $0x80


代码保存为“mmxtest.s“,以上代码用:as -gstabs -o mmxtest.o mmxtest.s后,显示了以下错误:

mmxtest.s: Assembler messages:
mmxtest.s:11: Error: bad register name `%mmx0'
mmxtest.s:12: Error: bad register name `%mmx1'


这跟cpu有关吗?我的cpu是amd 245,应该也是支持mmx指令的吧。
上网百度了一下,都是英文的资料,看不懂啊~_~
赐教,谢。


[ 本帖最后由 xuzejia_love 于 2011-4-23 15:54 编辑 ]
搜索更多相关主题的帖子: 寄存器 
2011-04-21 00:03
xuzejia_love
Rank: 2
等 级:论坛游民
帖 子:41
专家分:49
注 册:2010-12-5
收藏
得分:0 
回复 2楼 zklhp
as就是gas,和gdb是linux中的搭配,一个是编译,一个是调试的。
masm用mmx寄存器要告诉编译器的吗?那要怎么告诉?不知道可不可以类推。
我是按照书上给的代码调试的,它也没有说要告诉gas编译器使用mmx寄存器。

学的是语法,要的是算法。
2011-04-21 12:39
xuzejia_love
Rank: 2
等 级:论坛游民
帖 子:41
专家分:49
注 册:2010-12-5
收藏
得分:0 
回复 4楼 zklhp
呵呵,确实写错了。

学的是语法,要的是算法。
2011-04-21 23:45
xuzejia_love
Rank: 2
等 级:论坛游民
帖 子:41
专家分:49
注 册:2010-12-5
收藏
得分:0 
我查到了,gas引用mmx寄存器是要这个:%xmm0到%xmm7,难怪会出现bad register的现象了。

[ 本帖最后由 xuzejia_love 于 2011-4-23 15:58 编辑 ]

学的是语法,要的是算法。
2011-04-23 23:53
xuzejia_love
Rank: 2
等 级:论坛游民
帖 子:41
专家分:49
注 册:2010-12-5
收藏
得分:0 
回复 8楼 xuzejia_love
不好意思,纠正一下,使用mmx寄存器应该是这样的:%mm0至%mm7,%xmm0至%xmm7是xmm寄存器,两者不一样的。

学的是语法,要的是算法。
2011-04-25 22:21
快速回复:ubuntu的at&t汇编--gas无法使用识别mmx寄存器
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026896 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved