汇编伪指令ORG是干什么用的? 单片机中伪指令ORG是做什么用的,如果没有可不可以,对程序有...

\u6c47\u7f16\u4e2d\u7684ORG\u662f\u4ec0\u4e48\u610f\u601d\uff1f

org\u6709\u7ec4\u7ec7\u3001\u56e2\u4f53\u7684\u610f\u601d\u3002ORG\uff0c\u5728\u6c47\u7f16\u8bed\u8a00\u4e2d\u4e5f\u662f\u4e00\u6761\u6307\u4ee4\uff0c\u5176\u4f5c\u7528\u662f\u544a\u8bc9\u6c47\u7f16\u7a0b\u5e8f\uff0c\u5728\u5f00\u59cb\u6267\u884c\u7684\u65f6\u5019\uff0c\u5c06\u67d0\u6bb5\u673a\u5668\u8bed\u8a00\u88c5\u8f7d\u5230\u5185\u5b58\u4e2d\u7684\u54ea\u4e2a\u5730\u5740\u3002
1\u3001\u6c47\u7f16\u8bed\u8a00
ORG\uff0c\u5728\u6c47\u7f16\u8bed\u8a00\u4e2d\u662f\u4e00\u6761\u6307\u4ee4\u3002\u5176\u4f5c\u7528\u662f\u544a\u8bc9\u6c47\u7f16\u7a0b\u5e8f\uff0c\u5728\u5f00\u59cb\u6267\u884c\u7684\u65f6\u5019\uff0c\u5c06\u67d0\u6bb5\u673a\u5668\u8bed\u8a00\u88c5\u8f7d\u5230\u5185\u5b58\u4e2d\u7684\u54ea\u4e2a\u5730\u5740\u3002\u5982\u679c\u6ca1\u6709\u5b83\uff0c\u6709\u4e9b\u6307\u4ee4\u5c31\u4e0d\u80fd\u6b63\u786e\u5730\u7ffb\u8bd1\u548c\u6267\u884c\u3002\u7531\u4e8e\u8fd9\u6761\u6307\u4ee4\u4e0d\u662f\u673a\u5668\u8bed\u8a00\u4e2d\u7684\u76f4\u63a5\u6307\u4ee4\uff0c\u6240\u4ee5\u53c8\u88ab\u79f0\u4e4b\u4e3a\u4f2a\u6307\u4ee4\u3002
2\u3001\u5b9a\u4e49
ORG\u662fOrigin\u7684\u7f29\u5199:\u8d77\u59cb\u5730\u5740\u6e90\u3002\u5728\u6c47\u7f16\u8bed\u8a00\u6e90\u7a0b\u5e8f\u7684\u5f00\u59cb\u901a\u5e38\u90fd\u7528\u4e00\u6761ORG\u4f2a\u6307\u4ee4\u6765\u5b9e\u73b0\u89c4\u5b9a\u7a0b\u5e8f\u7684\u8d77\u59cb\u5730\u5740\u3002\u5982\u679c\u4e0d\u7528ORG\u89c4\u5b9a\u5219\u6c47\u7f16\u5f97\u5230\u7684\u76ee\u6807\u7a0b\u5e8f\u5c06\u4ece0000H\u5f00\u59cb\u3002

\u5b9a\u4e49\u4e0b\u4e00\u6761\u6307\u4ee4\u7684\u5b58\u653e\u5730\u5740\uff0c\u6ca1\u6709\u7684\u8bdd\u5c31\u63a5\u4e0a\u4e00\u6761\u5b58\u653e\u3002\u5bf9\u7a0b\u5e8f\u6ca1\u4ec0\u4e48\u5f71\u54cd\u3002
\u7a0b\u5e8f\u7b2c\u4e00\u6761\u9ed8\u8ba4\u4e5f\u662f\u653e\u57280000H\u5904\u3002
\u4f46\u7279\u6b8a\u7a0b\u5e8f\u6bb5\uff08\u4e3b\u8981\u662f\u4e2d\u65ad\u670d\u52a1\u5b50\u7a0b\u5e8f\uff09\u9700\u8981\u7279\u522b\u6307\u5b9a\u5b58\u653e\u7684\u4f4d\u7f6e\u3002\u90a3\u5c31\u9700\u8981\u7528ORG\u4e86\u3002

汇编伪指令ORG作用是定义程序或数据块的起始地址。 指示此语句后面的程序或数据块以 nn 为起始地址连续存放在程序存储器中。

在汇编语言源程序的开始,通常都用一条ORG伪指令来实现规定程序的起始地址。ORG 伪指令规定了程序的起始地址从 2000H 开始,即该程序的第一条指令“MOVA, 20H”从地址 2000H 开始存放。如果不用ORG规定则汇编得到的目标程序将从0000H开始。

扩展资料:

一般指令是在执行阶段发挥作用的,由CPU(Intel、AMD等)来执行。而汇编伪指令ORG在编译阶段发挥作用的,由汇编器(MASM、TASM等)来解释。

汇编语言源程序中若没有ORG伪指令,则程序执行时,指令代码被放到自由内存空间的CS:0处;
若有ORG伪指令,编译器则把其后的指令代码放到ORG伪指令指定的偏移地址。
两个ORG伪指令之间,除了指令代码,若有自由空间,则用0填充。



一、调整偏移量伪指令ORG
调整偏移量伪指令格式:ORG 数值表达式伪指令的作用是:告诉汇编程序,本伪指令下面的内存变量从该“数值表达式”所指定的地址开始分配。 二、汇编语言提供了一个特殊的符号“$”来引用偏移量计数器的值。
例如:
W1  DW $, $
 ORG $+3   ;从当前地址开始空3个字节
B1  DB 43h 假设:在给变量W1分配内存单元时,当前偏移量计数器的值为2。于是,变量W1后面第一个“$”代表数值2,第一个字分配后,此时偏移量计数器$的值就为4,所以,第二个“$”就代表数值4。在分配完二个字之后,偏移量计数器的值变为6,$+3的值为9,所以,伪指令“ORG $+3”就表示下一个变量从偏移量为9的单元地址开始分配。

  • 姹囩紪,姹傝缁嗘敞閲 org 0000h ljmp main org 0003h ljmp sub0 org 00...
    绛旓細ORG鏄Origin鐨勭缉鍐欙細璧峰鍦板潃,婧愩傚湪姹囩紪璇█婧愮▼搴忕殑寮濮嬮氬父閮界敤涓鏉RG浼寚浠鏉ュ疄鐜拌瀹氱▼搴忕殑璧峰鍦板潃銆傚鏋滀笉鐢∣RG瑙勫畾鍒欐眹缂栧緱鍒扮殑鐩爣绋嬪簭灏嗕粠0000H寮濮嬨 渚嬪锛 ORG 2000H START锛歁OV A锛#00H ORG鎸囦护鏄湪鎸囧畾鐨勫亸绉诲湴鍧澶勫紑濮嬪啓浠g爜锛屽ORG 0000H LJMP MAIN 灏辨槸鍦0000H寮濮嬬殑...
  • 姹囩紪璇█涓涓琛屾湁ORG 鍦板潃;琛ㄧず浠涔鍟!
    绛旓細姹囩紪璇█涓鐨凮RG锛屽氨鏄▼搴忚捣濮嬪湴鍧鐨勬剰鎬濓紝鍚庨潰閫氬父鏈変竴缁勫湴鍧锛屼緥濡侽RG 1000H 锛涜〃绀虹▼搴忎粠鍦板潃1000H寮濮 ORG 1000H MAIN: MOV A,#6BH ;琛ㄧず寮鸿鎸囧畾main绋嬪簭锛屼粠1000H寮濮 鑻ユ槸娌℃湁ORG鎸囧畾鍦板潃锛岀▼搴忓氨浠0000H寮濮嬨
  • 鍗曠墖鏈轰腑浼寚浠RG鏄仛浠涔堢敤鐨,濡傛灉娌℃湁鍙笉鍙互,瀵圭▼搴忔湁浠涔堝奖鍝嶆病...
    绛旓細瀹氫箟涓嬩竴鏉鎸囦护鐨瀛樻斁鍦板潃锛屾病鏈夌殑璇濆氨鎺ヤ笂涓鏉″瓨鏀俱傚绋嬪簭娌′粈涔堝奖鍝嶃傜▼搴忕涓鏉¢粯璁や篃鏄斁鍦0000H澶勩備絾鐗规畩绋嬪簭娈碉紙涓昏鏄腑鏂湇鍔″瓙绋嬪簭锛夐渶瑕佺壒鍒寚瀹氬瓨鏀剧殑浣嶇疆銆傞偅灏遍渶瑕佺敤ORG浜嗐
  • 璇烽棶楂樻墜MCS-51鎸囦护绯荤粺涓,ORG 鎸囦护鍜 DB鎸囦护鏄粈涔堟寚浠
    绛旓細浼寚浠rg鐢ㄦ潵瑙勫畾鐩爣绋嬪簭瀛樻斁鍗曞厓鐨勫亸绉婚噺銆傛瘮濡傦紝濡傛灉鍦ㄦ簮绋嬪簭鐨勭涓鏉℃寚浠ゅ墠鐢ㄤ簡濡備笅鎸囦护锛歰rg 200h 閭d箞锛姹囩紪绋嬪簭浼氭妸鎸囦护鎸囬拡鐨刬p鐨勫艰鎴200h,鍗崇洰鏍囩▼搴忕殑绗竴涓瓧鑺傛斁鍦200h澶勶紝鍚庨潰鐨 鍐呭鍒欓『搴忓瓨鏀撅紝闄ら潪閬囦笂鍙︿竴涓猳rg 璇彞 db 鎿嶄綔鐮侊紝灏嗗瓧鑺傚肩洿鎺ユ眹缂栧埌鍐呭瓨 ...
  • 璇存槑浼寚浠ょ殑浣滅敤銆傗滀吉鈥濈殑鍚箟鏄粈涔?甯哥敤浼寚浠ゆ湁鍝簺?鍏跺姛鑳藉浣...
    绛旓細浼濇槸浣撶幇鍦姹囩紪鍚庯紝浼寚浠娌℃湁鐩稿簲鐨勬満鍣ㄤ唬鐮佷骇鐢熴傚父鐢ㄤ吉鎸囦护鍙婂姛鑳藉涓嬶細ORG锛圤RiGin锛夋眹缂栬捣濮嬪湴鍧鍛戒护锛汦ND(END of assembly)姹囩紪缁堟鍛戒护锛汦QU锛圗QUate锛夋爣鍙疯祴鍊煎懡浠わ紱DB锛圖efine Byte锛夊畾涔夋暟鎹瓧鑺傚懡浠わ紱DW锛圖efine Word锛夊畾涔夋暟鎹瓧鍛戒护锛汥S锛圖efine Storage锛夊畾涔夊瓨鍌ㄥ尯鍛戒护锛汢IT 浣嶅畾涔夊懡浠 ...
  • 涓轰粈涔鍦ㄧ敤鍗曠墖鏈姹囩紪缂栫▼鏃,寮澶撮兘瑕佸啓涓 ORG 0000H AJMP MAIN ORG 0...
    绛旓細ORG鏄吉鎸囦护锛屽憡璇夌紪璇戝櫒锛岀▼搴忎粠ROM鐨0000寮濮嬪瓨鏀剧▼搴忥紝浣嗘槸AJMP MAIN鏄竴鏉℃棤鏉′欢璺宠浆鎸囦护锛屼篃灏辨槸璇达紝鍗曠墖鏈轰笂鐢典箣鍚庨鍏堜粠0000澶勫紑濮嬫墽琛岀▼搴忥紝浣嗘槸锛孉JMP鐩存帴灏嗙▼搴忚烦杞埌MAIN鏍囧彿鎸囧悜鐨勫瓨鍌ㄥ尯鍩熷紑濮嬪彇鎸囦护锛屽苟鎵ц锛岃屼竴鑸琈AIN鏍囧彿鏄斁鍦ㄨ鍙RG 0030涔嬪悗鐨勶紝涔熷嵆锛屼富绋嬪簭鏄粠0030杩欎釜鍦板潃寮濮嬪瓨鏀剧殑...
  • 璇烽棶鍗曠墖鏈涓璒RG鏄粈涔堟寚浠?鏈変粈涔堜綔鐢?
    绛旓細ORG鎸囦护鐢ㄦ潵鏀瑰彉姹囩紪鍣ㄧ殑璁℃暟鍣紝浠庤岃瀹氫竴涓柊鐨勭▼搴忚捣濮嬪湴鍧銆傛牸寮忥細 ORG 琛ㄨ揪寮 琛ㄨ揪寮忓繀椤绘槸缁濆鎴栫畝鍗曞啀瀹氫綅琛ㄨ揪寮忋侽RG 0000H AJMP MAIN 璁惧畾 MAIN 绋嬪簭鐨勮捣濮嬪湴鍧涓 0000H 涔熸湁璇存槸鍋忕Щ鍦板潃锛屾牸寮忎负锛歄RG 鍋忕Щ鍦板潃
  • ...鍗曠墖鏈姹囩紪璇█涓嶆噦,璋佽兘甯垜鐪嬩笅,璋㈣阿 ORG 0000H MOV P1,#0FFH...
    绛旓細ORG 0000H ;ORG鏄眹缂栦吉鎸囦护,瀹氫綅绋嬪簭鍦板潃鐢,杩欓噷鏄▼搴忓叆鍙0000HMOV P1,#0FFH ;缁橮1鍙h祴鍊糉FH,鍗砅1鍙e叏閮ㄧ疆1P1.0=1;P1.0鍙g疆1,杩欓噷鍗曠嫭缁橮1鍙g殑绗竴浣嶇疆1.;杩欎釜绋嬪簭娌″啓瀹,鑷冲皯搴旇缁撳熬澶勬湁涓涓狤ND,涓轰簡浣跨▼搴忓彲鎺,缁撴潫鍓嶅姞涓涓寰幆杈冨ソ銆傚洜姝ら渶瑕佸姞濡備笅涓ゅ彞:SJMP $ ;鍘熷湴寰幆,杩欐牱鍙互淇濇寔浠ュ墠鐨勭姸鎬...
  • 姹囩紪涓璒RG鍚庨潰鐨勫湴鍧鏄庝箞鍥炰簨,鎬庝箞纭畾?鍙互闅忎究寮勪釜鍦板潃鍚椼俖鐧惧害鐭...
    绛旓細鍢垮樋 淇烘潵甯綘瑙g瓟鍚 1 姹囩紪涓璒RG 鏄瀹氫綅浼寚浠 灏辨槸鍙互鎸囧畾鎸囦护浠g爜瀛樻斁鐨勪綅缃備緥濡傦細ORG 0100H MAIN锛 MOV A锛#34 MOV P1锛孉 鍗虫寚瀹歁OV A锛#34 鍜 MOV P1锛孉 鎸囦护浠g爜瀛樻斁浠庣▼搴忓瓨鍌ㄥ櫒鐨0100H寮濮 鐨勫湴鏂瑰瓨鏀 2 鍗曠墖鏈虹殑鍚姩鍦板潃鍜屼腑鏂簮鐨勫叆鍙...
  • 姹囩紪璇█涓浼寚浠rg
    绛旓細涓句緥璇达紝浣犵殑鈥滀竴鑸鐨 org 2000H锛沘jmp main锛沷rg 2013H锛沘jmp Int_ADC...鈥濆疄闄呬笂鏄寚 ajmp main杩欐潯鎸囦护琚斁鍦╮om鐨0x2000锛宎jmp Int_ADC杩欐潯鎸囦护琚斁鍦0x2013锛岃屽苟涓嶆槸璇粹渕ain鍑芥暟浠0x2000寮濮嬨両nt_ADC鍑芥暟浠0x2013寮濮嬧濓紝鎵浠ヤ綘涓嶅繀鎷呭績銆傚彧闇瑕佺‘淇濅竴鏉jmp鎸囦护鐨闀垮害涓嶈澶т簬0x13灏...
  • 扩展阅读:汇编伪指令大全 ... 汇编结束伪指令是什么 ... 汇编伪指令是什么意思 ... 汇编伪指令课件 ... 起始汇编的伪指令 ... 四种常用的伪指令 ... 伪指令表 ... 汇编指令和伪指令区别 ... 伪指令何时执行 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网