打印

请教个C问题

[复制链接]
1493|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
此心向学|  楼主 | 2010-8-11 22:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
szshawn2010| | 2010-8-12 02:50 | 只看该作者
汇编格式 指明一下代码的位置。
C就不用指明位置了,编译器自动处理。所以说C方便嘛

使用特权

评论回复
板凳
此心向学|  楼主 | 2010-8-12 08:41 | 只看该作者
不明白我的用意 2# szshawn2010

使用特权

评论回复
地板
ayb_ice| | 2010-8-12 09:52 | 只看该作者
本帖最后由 ayb_ice 于 2010-8-12 09:54 编辑

难道你是想在400H的位置调用reset程序
这要绝对定位了
用汇编比较好,C的话没有标准方法,取决于编译器

使用特权

评论回复
5
此心向学|  楼主 | 2010-8-12 10:19 | 只看该作者
嗯嗯,正是
我想在未用地址多插入几条reset();实现软复位

winavr+studio里面不知道怎么实现

或者烧写芯片的时候可以填充JMP  0x00000000吗???

4# ayb_ice

使用特权

评论回复
6
此心向学|  楼主 | 2010-8-12 21:34 | 只看该作者
等待解答……

使用特权

评论回复
7
xixihaha0| | 2010-8-12 23:16 | 只看该作者
这个你得研究一下编译器的手册,不然直接用汇编操作吧

使用特权

评论回复
8
datreexia| | 2010-8-13 09:13 | 只看该作者
void (*reset)(void)=0x00000400;
这样不可以吗?

使用特权

评论回复
9
此心向学|  楼主 | 2010-8-13 09:31 | 只看该作者
大哥,我是要把reset();存放在0x00000400开始的地址

不是运行reset();就让PC指向0x00000400



8# datreexia

使用特权

评论回复
10
klyzh2003| | 2010-8-13 12:01 | 只看该作者
这个用法在C标准里面是未定义的,就是说取决于编译器与硬件。

使用特权

评论回复
11
xlsbz| | 2010-8-13 12:56 | 只看该作者
楼主这个问题这么些人都答不上来 那么说明你这个问题可能本身没啥意义 可能是走上歧途了 方法有问题 思路有问题
连我这个C语言高人(据说现在大部分人不敢说自己精通C语言,但是本人不仅仅是精通C,而是极其精通C语言) 都没看明白

建议换个方法........

使用特权

评论回复
12
此心向学|  楼主 | 2010-8-13 13:31 | 只看该作者
高人:有一段代码,我就是想把这段代码从指定地址开始存放
就这样

11# xlsbz

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

70

帖子

1

粉丝