关键词不能为空

当前您在: 主页 > 英语 >

pc实现跳转函数指针与绝对地址的跳转

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-03-03 12:52
tags:

-

2021年3月3日发(作者:1400)


pc


实现跳转。函数指针与绝对地址的


跳转




c


实现


uboot


的拷贝,


pc

实现跳转。函数指针与绝对地址的跳转!


2011-


05- 26 15



10(1)void(*theUboot)(v oid)




theUboot=(void(*)(void))(0x 30700000)




theUboot()




(2)(*(void(*)(void))(0x 30700000))()




精彩< /p>


C


语言赏析:函数指针与绝对地址跳转



一小段精彩的


C


语言,


1



2


实现相同的功能,欢迎 大伙跟帖呵


(


特别感谢


trio


老师


)


1 void(*theUboot)(void)






theUboot=(void(*)(void))(0x 30700000)




theUboot()






2(*(void(*)(void))(0x 30700000))()




aok ikyon


发表于


2008-9-10 21



00


看不懂。


ToT


讲解下好吗



shixq


发表于


2008-9-11 09



13


呵呵,强制类型转换,将 一个绝对地址转换为一个函数指针,并调用这个


函数以跳转到前面提到的绝对地址


.


翻译成汇编就是:



mov r0,0x 30700000




mov pc,r0 trio


老师说了,会用函数指针就可以成为


C< /p>


语言高手


.


目前尚处于模仿阶段,还没 有领会函数指针的精髓,继续修炼中


.


shixq


发表于


2008-9-11 09



16


原来用

< br>2


的方式实现要加一个括号


.


看来对优先级的领会还是不够,当天少加了一个括号,编译死活通不过,


没办法才用


1


的方法,先定义了一个空指针


.


trio


发表于


2008-9-11 10



10


(*(void(*)(void))(0x 30700000))()




可以这样理解



首先

< br>(void(*)(void))


是一个强制类型转换符,他将后面的

< p>
0x 30700000



个无符号整数强制转化 为一个函数指针,该函数指针所指向的函数入口参数为


void


,返回值也是


void


。如果到这步你看懂了,那么设


(void(*)(void))(0x


30700000)



fp


;那么上面的表达式就可以简化为


(*fp)()



OK


,这下就清楚了


吧,我们将上面转化好的函数指针进行引用


(


也就是调用函数指针指向的函数


)


。< /p>



space


发表于


2008-9-11 17



25



)


感谢大师


trio


和大侠


shixq


的精彩回复



aii 7780967


发表于


2008-9-11 17



45


浩子加油



我看不懂



不懂就要问



呵呵



athon


发表于


2008-11-8 16



06


看不懂,以后得好好学习


c


语言了。



老师和学长都很厉害。



ender


发表于


2008-11-8 18



11


又进步了



今天又有收获啦!多谢老师 和学长:


loveliness




shixq


发表于


2008-11-8 18



58


呵呵,这是


NandFlash


烧写启动代码里的一段程序。



原程序主要实现将


0x 30100000


512+16


字节的内容烧写到


NandFlash



第一页,将


0x 30101000


处的


512


字节的内 容烧写到


NandFlash


的第二页。然

后程序跳转到


0x 30700000


,开始执行


UBOOT


的代码,然后在


UBOOT


的提示符


下将


0x 30600000(



0x 30700000


处的代码完全相同


)


的内容烧写到

NandFlash


指定的位置。以上完成


NandFla sh


启动的


UBOOT


烧写。



下面再简单介绍一下


NandFlash


启动的流程:



系统重新上电后,首先执行


NandFlash


第一页的代码,初始化

CPU


各必要


的寄存器,然后跳转到


0x 30000000


外执行几条汇编,将第二页的代码搬运到


0x 30001000


,然后跳转到


0x 30001000


处执行第二页的代码,将


UBOOT



NandFlash


搬运到


0x 30700000


处,然后跳转到


0x 30700000


处,执行


UBOOT


代码,完成系统启动< /p>


.

-


-


-


-


-


-


-


-



本文更新与2021-03-03 12:52,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/700085.html

pc实现跳转函数指针与绝对地址的跳转的相关文章

  • 余华爱情经典语录,余华爱情句子

    余华的经典语录——余华《第七天》40、我不怕死,一点都不怕,只怕再也不能看见你——余华《第七天》4可是我再也没遇到一个像福贵这样令我难忘的人了,对自己的经历如此清楚,

    语文
  • 心情低落的图片压抑,心情低落的图片发朋友圈

    心情压抑的图片(心太累没人理解的说说带图片)1、有时候很想找个人倾诉一下,却又不知从何说起,最终是什么也不说,只想快点睡过去,告诉自己,明天就好了。有时候,突然会觉得

    语文
  • 经典古训100句图片大全,古训名言警句

    古代经典励志名言100句译:好的药物味苦但对治病有利;忠言劝诫的话听起来不顺耳却对人的行为有利。3良言一句三冬暖,恶语伤人六月寒。喷泉的高度不会超过它的源头;一个人的事

    语文
  • 关于青春奋斗的名人名言鲁迅,关于青年奋斗的名言鲁迅

    鲁迅名言名句大全励志1、世上本没有路,走的人多了自然便成了路。下面是我整理的鲁迅先生的名言名句大全,希望对你有所帮助!当生存时,还是将遭践踏,将遭删刈,直至于死亡而

    语文
  • 三国群英单机版手游礼包码,三国群英手机单机版攻略

    三国群英传7五神兽洞有什么用那是多一个武将技能。青龙飞升召唤出东方的守护兽,神兽之一的青龙。玄武怒流召唤出北方的守护兽,神兽之一的玄武。白虎傲啸召唤出西方的守护兽,

    语文
  • 不收费的情感挽回专家电话,情感挽回免费咨询

    免费的情感挽回机构(揭秘情感挽回机构骗局)1、牛牛(化名)向上海市公安局金山分局报案,称自己为了挽回与女友的感情,被一家名为“实花教育咨询”的情感咨询机构诈骗4万余元。

    语文