打印
[ZLG-ARM]

请教:ARM启动代码芯片加密部分代码

[复制链接]
1529|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
清风一阵|  楼主 | 2007-5-12 20:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
;/*********************************************************************************************************
;** 函数名称: CrpData
;** 功能描述: 支持芯片加密功能
;** 
;** 输 入: 无
;**
;** 输 出: 无
;**         
;** 全局变量: 无
;** 调用模块: 无
;**
;** 作 者: 陈明计
;** 日 期: 2004年3月27日
;**-------------------------------------------------------------------------------------------------------
;** 修改人:
;** 日 期:
;**------------------------------------------------------------------------------------------------------
;********************************************************************************************************/
    IF :DEF: EN_CRP
        IF  . >= 0x1fc
        INFO    1," The data at 0x000001fc must be 0x87654321. Please delete some source before this line."
        ENDIF
CrpData
    WHILE . < 0x1fc
    NOP
    WEND
CrpData1
    DCD     0x87654321          ;/* 当此数为0x87654321时,用户程序被保护 */
    ENDIF
哪位高手肯告小弟一下,该函数是被哪个函数调用的?
还有IF  . >= 0x1fc中的IF后面的点代表什么意思?

相关帖子

沙发
computer00| | 2007-5-12 21:59 | 只看该作者

这个并不是由谁调用的,而是在编译的时候产生的一些数据

将地址0x1fc设置为0x87654321,从而起到加密的功能。



如果现在的地址已经大于0x1fc了,则输出错误信息。如果还没到,则填充nop指令,直到0x1fc这个地址到达。

使用特权

评论回复
板凳
清风一阵|  楼主 | 2007-5-12 22:26 | 只看该作者

请问:computer00

IF  . >= 0x1fc中的IF后面的点好象代表当前地址的值.但该语法在哪里能找到?谢谢!

使用特权

评论回复
地板
computer00| | 2007-5-13 00:33 | 只看该作者

我也不知道。找找ARM汇编相关的书籍

使用特权

评论回复
5
清风一阵|  楼主 | 2007-5-14 07:25 | 只看该作者

to zlgARM

我搜索了,但没有搜索到这种语法介绍

使用特权

评论回复
6
HotPower| | 2007-5-15 01:37 | 只看该作者

类似_at,真是怀念CARM呀~~~

使用特权

评论回复
7
zlgARM| | 2007-5-15 07:45 | 只看该作者

清风

使用特权

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

本版积分规则

3

主题

6

帖子

1

粉丝