首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

FLASH编程c语言嵌入汇编不能通过……

FLASH编程c语言嵌入汇编不能通过……

unsigned int pbase
asm("sthx pbase");

CW编译为什么上面的语句通不过呢?请高手指点,谢谢!
不知道你用的是什么编译环境

这个里面有几个问题,一般嵌入汇编,用 asm ();的方式,不带引号。不过这个和编译工具有关。

另外,你用汇编调入pbase数据,必须给汇编中声明一下pbase
现在pbase只是在c中声明了而已。

可以参考一下这个帖子,关于c和汇编共用常量的问题
http://bbs.eccn.com/dispbbs.asp?boardID=3&RootID=101651&ID=101651
我用的CW08 V3.1,只有C语言的源文件,没有汇编源文件,仅仅是在C语言的源文件中嵌入一段汇编而已,还需要用汇编声明吗?如果需要声明,应该如何声明呢?
这样的话应该没有问题
你的pbase定义在和汇编语句同一个c文件中就可以了
直接引用 asm ldhx pbase;就可以了
我想这是CodeWarrior的一个bug。现在暂时可以用以下的代码来替代:

asm{
STX pbase;
PSHH
PULX
STX pbase:1
}
海纳百川  有容乃大
多谢各位高手。

上面的问题一直很奇怪:
asm ldhx pbase;可以通过编译,但是
asm sthx pbase;却不能通过编译

只能用
asm{
STX pbase;
PSHH
PULX
STX pbase:1
}
来代替,就OK了,多谢!
各位可以到飞思卡尔网站上下载补丁和升级软件,只是现在网络速度还是很慢:(

http://www.freescale.com/webapp/sps/site/overview.jsp?nodeId=0127260061788213CF151B
海纳百川  有容乃大
返回列表