久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6148|回復: 0
收起左側

匯編之正本清源釋ORG指令

[復制鏈接]
ID:266429 發表于 2019-3-26 10:26 | 顯示全部樓層 |閱讀模式
    偽指令是什么?書上也好,百度上也好,都沒說清。
對于ORG的功能和用法,書上所說,要么不完整,要么就有錯誤。
一、解釋
對于ORG的正確而完整的解釋是:以下程序在匯編成機器代碼后,將以其所指出的地址作為首地址,在進行燒寫時在程序存儲器中順序存放,直到被下一個ORG所改變。
ORG后面的地址值,在編寫源程序時并無數字大小之順序規定,允許交叉,也就是說你可以先寫大數值再寫小數值或亂序。這個,有些書上說的是錯的。
二、原理
51機的指令運行規定是:上電后,控制電路將程序存儲器中0000H地址的內容當作指令而非數值,這個是該程序的第一條指令,然后程序順序往下執行除非遇到跳轉指令。
51機的程序匯編工具對對源程序匯編的規定是:按源程序的順序進行編譯并順序填入匯編工具自己的預寫表中,除非遇到ORG指令。
51機的機器代碼燒寫入程序存儲器中的規定是:按匯編工具預寫表中代碼的順序,將所有代碼順序寫入程序存儲器中,在燒寫過程中不會有任何改變。
所以,ORG指令可以稱作程序匯編跳轉指令,它告訴匯編工具以下程序從指定位置開始寫入而不是順序寫入,它是為了讓程序員按自己的思路編寫主程序然后再去編寫其它程序,以免受到匯編工具順序匯編的影響。如中斷處理程序,51機規定其必須放在程序存儲器中從03H開始的一段空間內,但程序員想先寫完主程序后再回過頭來寫中斷,那就必然用到ORG
三、用法
可使用在程序中任何位置,可倒序、交叉使用,其使用次數并無特別限制。
四、使用注意事項
1、允許亂序,但是別讓后面的程序把前面的程序給覆蓋了,所以,各ORG之間的地址相隔空間應留足。如果沒把握估算,或想充分利用程序存儲器空間,那就得計算每一段程序的長度了,也就是要對程序存儲器的空間進行事先規劃。
2、主程序前一定要有ORG,也就是程序員一定要指定主程序的入口地址。否則,主程序一定會覆蓋掉中斷向量入口部分的空間。
3、如果你將中斷處理程序(包括其跳轉指令)放在主程序前面,而不在主程序前指定主程序的入口地址,那程序也能運行。
多說一點:有的程序員把這個中斷處理程序非要放在前面而不敢放在后面,就是因為沒弄懂ORG的用法而未指定主程序的入口地址而造成的。這樣的程序看上去有點別扭,一般子程序都是放在后面的啊。這種情況,主程序在程序存儲器中的存儲位置是緊跟在最后一個中斷處理程序的最后一個字節后面的,。上電后,這些主程序前面的程序之所以沒被執行,是因為在0000H開始段有一個跳至主程序的跳轉指令,否則,這些程序是會被先執行的,搞不好程序會飛。

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品免费在线 | 国产成人精品免高潮在线观看 | 午夜在线视频 | 四色永久| 色99视频| 精品国产乱码久久久久久影片 | 国产精品久久久久永久免费观看 | 九九在线精品视频 | 91精品国产91久久久久福利 | a在线观看| 久久久久久国产精品免费免费 | 欧美性高潮 | 久久天天躁狠狠躁夜夜躁2014 | 亚洲永久| 国产精品日本一区二区不卡视频 | 亚洲一区有码 | 亚洲人成人一区二区在线观看 | www.色综合| 国产精品国色综合久久 | 日本视频一区二区三区 | 国产9久| 午夜精品一区 | 国产色婷婷久久99精品91 | 日本不卡一区 | 久久久精品一区 | 国产亚洲精品综合一区 | a级毛片国产 | 四虎在线观看 | 91av视频 | 精品欧美一区二区三区久久久 | 国产一级片91 | 国产伦精品一区二区三区高清 | 涩涩操| 亚洲高清视频一区二区 | 黄色永久免费 | 一区二区视频在线观看 | 欧美午夜一区 | 欧美一区二区成人 | 天天爽夜夜爽精品视频婷婷 | 热re99久久精品国99热观看 | 久久九精品 |