positive: ORG指令<br>ORG是Origin的缩写:起始地址,源。在汇编语言源程序的开始通常都用一条ORG伪指令来实现规定程序的起始地址。如果不用ORG规定则汇编得到的目标程序将从0000H开始。例如:<br>ORG 2000H<br>START:MOV AX,#00H<br>汇编语言源程序中若没有ORG伪指令,则程序执行时,指令代码被放到自由内存空间的CS:0处;若有ORG伪指令,编译器则把其后的指令代码放到ORG伪指令指定的偏移地址。两个ORG伪指令之间,除了指令代码,若有自由空间,则用0填充。<br>预处理-->编译-->汇编-->链接,这是高级语言的编译全过程。对于纯汇编,就只有汇编和链接两个步骤。 org指令是链接时使用的,不是汇编那一步使用的。即不是cpu的一条指令,而是给编译器看的伪指令。 在51单片机、x86 dos、win32 exe中实现都有差异。以最简单的51单片机为例,编译器最终链接生成HEX文件,再烧录到51的rom中去。单片机很简单,没有x86的分段、分页,启动就是从rom的0x0的位置开始执行。同时0x30H位置开始存放中断向量, 所以单片机程序一般开头就是: ORG 0000H  AJMP MAIN  ORG 0030H 这里的ORG 0000H指令,使得程序链接成HEX文件时,AJMP MAIN这条指令的机器码就在HEX文件的0x0位置。这是链接器的工作。 至于x86 dos和win32 exe,ORG的实现就复杂了,ORG不再是绝对定位,只能在一个段里相对定位。
negative: 我们知道百步穿杨是一个著名的成语,这个成语是什么意思呢?就是说一个人的箭术非常高明,能在百步之外用箭射穿选定的杨树叶子。<br>但说起这个故事,这个故事的背后还有个故事。这是怎么回事呢?原来,百步穿杨的故事是最开始由一个人提出来对周天子说的,要拿这个故事去游说当时秦国的名将白起。<br>公元前281年,秦国已经打败了韩国、魏国。周天子非常担心自己的安全。如果秦国又去攻打梁国,那么,梁国败了以后,接下来就是周了,周天子意识到自己的危险。这个时候,有一个叫苏厉的说客,在周天子身边,就对周天子说,何不派一个人去游说白起,白起在秦军里面是最能打仗的,如果他不打了,梁国也就安全多了。<br>著名的《千字文》提到四个人,起翦颇牧,用军最精。其中的起,就是白起,白起为秦国吞并六国,建立了巨大的功勋。如此一位将军,苏厉要采取什么样的措施去说服呢?这就是一个故事了。<br>一个故事是鸡毛还是利剑,就看人怎么用了。<br>故事说的是:楚国曾有一个叫养由基的人,非常善于射箭,他站在距离柳树树叶一百步远的地方,向它射箭,做到了射一百次就能射中一百次。在当时,养由基射箭的时候,周围围观了上千人之多,都非常赞叹他射箭的本领。<br>这时候,有一个人站在养由基的旁边,对他说:“不错,孺子可教也!”养由基听到以后非常生气,放下弓,提起剑,对这个人说:“你怎么能教我射箭呢?你看我现在百发百中了。”<br>那人说道:“我不能教你射箭的姿势,但可以叫你射箭的道理,你射箭已经是百发百中,还不见好就收!过不久,气色不济,手臂也会疲倦,到那个时候,您的弓就会变形,箭杆也会弯曲,一箭射不中就会前功尽弃。一百次了,再射几次,有一箭射不中,前面百发百中的事,也就没人称赞了。所以,要懂得见好就收的道理啊。”