44B0的一段小的启动代码求分析

[复制链接]
2130|5
 楼主| jordanli22 发表于 2013-3-15 12:53 | 显示全部楼层 |阅读模式
ENTRY
        IF : DEF : |ads$version|
        ELSE
        EXPORT        __main
__main



主要是if后面部分看不懂,还有if后面的那两个::是什么意思?
再问:
export __main  的__(两个下划线)是什么意思,有时候我还看到其他情况:
import _main(一个下划线)
export main (没下划线)  
有什么区别?
jlass 发表于 2013-3-15 14:41 | 显示全部楼层
下划线的那个是汇编和C程序的函数相互调用时用的。汇编的要加下划线,对应到C就不用。

其他的也不懂。
 楼主| jordanli22 发表于 2013-3-15 15:35 | 显示全部楼层
有一个下划线和两个下划线啊?你指哪个?
jlass 发表于 2013-3-15 16:08 | 显示全部楼层
本帖最后由 jlass 于 2013-3-15 16:10 编辑
jordanli22 发表于 2013-3-15 15:35
有一个下划线和两个下划线啊?你指哪个?

多加一个下划线,比如C是main,汇编就是_main,C是_main,汇编就是__mian
而C同时使用main和_main,估计是为了防止冲突。


虽然不是非常肯定,但应该没错。
阿南 发表于 2013-3-15 16:08 | 显示全部楼层
这些是不同编译器规定的不同的汇编符号
 楼主| jordanli22 发表于 2013-3-15 22:49 | 显示全部楼层
本帖最后由 jordanli22 于 2013-3-15 23:00 编辑

最后让大家来给我总结一下吧,估计只有这几种情况了吧:(如果还有其他情况请大家指导)

汇编定义的一个标号main要共享出去写法是:

汇编引进c文件里面定义的一个标号main写法是:

汇编引进另一个汇编里面定义的一个标号main写法是:

c文件定义的一个标号main要共享出去写法是(我假设的,不知道有没有这种情况):

c文件引进汇编里面定义的一个标号main写法是(我假设的,不知道有没有这种情况):



您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

9

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部