最近在学汇编,有与需要许多外围知识,所以还是挺不容易的。
这里有个小问题:
一个汇编程序比较大,可能会有多个文件,没一个文件中又有许多的函数标签,call等等。
我的问题是:汇编程序是从哪里开始执行?(c等高级语言程序一般都是从main函数开始的,那么汇编呢)
汇编语言
------解决方案--------------------
标号,严格来说不是的。
asm 源程序都是由 end 语句结束的,后面即使有内容也不会被处理。无论有几个 asm 源程序,但应该只有一个 asm 文件的最后的 end 语句带有标号如 end start 这样的,其它都只是 end 而没有标号,那个被 end 所指定的标号,就是最后的程序开始执行的地方。
------解决方案--------------------
一般当reset释放后CPU会去interrupt vector中找reset对应的入口地址,程序员应该把程序入口函数放在对应的位置上面,至于到底哪个才是入口函数,那是由程序员决定的,一般作为汇编的起始位置,都会用__Start作为lable