Ⅰ 單片機org 2000h是什麼意思
H是十六進制的符號,數據後面跟H便是該數據時十六進制數據,ORG是編譯時定位地址用的偽指令,表示該語句之後的指令從 ORG後面的地址開始執行。不同的單片機開始執行的地址是不一樣的,單片機org 2000h表示單片機是從2000H開始的執行的。
單片機是一種集成電路晶元,是採用超大規模集成電路技術把具有數據處理能力的中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統、定時器/計數器等功能。
集成到一塊矽片上構成的一個小而完善的微型計算機系統,在工業控制領域廣泛應用。從上世紀80年代,由當時的4位、8位單片機,發展到現在的300M的高速單片機。
地址寄存器AR
地址寄存器用於保存當前CPU所要訪問的內存單元或I/O設備的地址。由於內存與CPU之間存在著速度上的差異,所以必須使用地址寄存器來保持地址信息,直到內存讀/寫操作完成為止。
顯然,當CPU向存儲器存數據、CPU從內存取數據和CPU從內存讀出指令時,都要用到地址寄存器和數據寄存器。同樣,如果把外圍設備的地址作為內存地址單元來看的話,那麼當CPU和外圍設備交換信息時,也需要用到地址寄存器和數據寄存器。
以上內容參考網路-單片機
Ⅱ 51單片機和NASM中ORG指令是否不同
ORG只是一個宏指令,也就是說只在編譯時起作用,用來定位尾隨其後指定的起始地址。在51單片機中,普通的51單片機有5個中斷,中斷向量分別是:0003H,000BH,0013H,001BH,0023H,編程時一般盡量避開這個區域,所以主程序入口都定位0030H,如果不用中斷的話,從000H開始也是可以的。
Ⅲ 為什麼在用單片機匯編編程時,開頭都要寫上 ORG 0000H AJMP MAIN ORG 0030H這些呢請各位大俠多多指點!
原因:單片機中,0000H單元為系統啟動地址,ORG 0000H AJMP MAIN 就是在該地址存放一條絕對跳轉指令,轉入主程序的入口地址。ORG 0030H 是為了把用戶程序定位到用戶RAM區(30H-7FH),0000H-0030H存儲單元地址是有其他特殊功能的。
在匯編語言源程序的開始通常都用一條ORG偽指令來實現規定程序的起始地址。如果不用ORG規定則匯編得到的目標程序將從0000H開始。程序從ROM的0000開始存放程序,但是AJMP MAIN是一條無條件跳轉指令,也就是說,單片機上電之後首先從0000處開始執行程序。
但是,AJMP直接將程序跳轉到MAIN標號指向的存儲區域開始取指令,並執行,而一般MAIN標號是放在語句ORG 0030之後的,也即,主程序是從0030這個地址開始存放的。
(3)單片機org指令擴展閱讀:
單片機數據存儲器的特殊區段:
1、工作寄存器區(00H-1FH)
在00H-1FH共32個單元,被均勻地分為四組工作寄存器堆:RB0、RB1、RB2、RB3,每組寄存器堆包含8個工作寄存器,均以R0-R7來命名,這些寄存器被稱為通用寄存器。工作寄存器用於臨時存放8位信息。在使用時,由程序狀態字寄存器中的RS0、RS1來選擇工作寄存器堆。
2、位定址區(20H-2FH)
片內數據存儲器的20H-2FH存儲區為位定址區,既可作為一般單元按位元組定址,也可按位進行定址。位定址區有16個位元組,位地址為00H-7FH。
Ⅳ 匯編語言org指令怎麼用
ORG是Origin的縮寫:起始地址,源。在匯編語言源程序的開始通常都用一條ORG偽指令來實現規定程序的起始地址。如果不用ORG規定則匯編得到的目標程序將從0000H開始。
ORG的使用:
ORG2000H
START:MOVAX,#00H
(4)單片機org指令擴展閱讀
51單片機最常用的偽指令如下:
(1)起始(Origin)偽指令
標號:ORGnn
功能:定義程序或數據塊的起始地址。指示此語句後面的程序或數據塊以nn為起始地址連續存放在程序存儲器中。
例如:
ORG2000H
MOVA,20H
…
ORG偽指令規定了程序的起始地址從2000H開始,即該程序的第一條指令「MOVA,20H」從地址2000H開始存放。)
(2)位元組定義(DefineByte)偽指令
標號:DB(位元組常數或字元或表達式)
功能:指示在程序存儲器中以標號為起始地址的單元里存放的數為位元組數據(8位二進制數)。
例如:
OGR100H
TAB1:DB0FFH,'C',16,−1
從TAB1開始的地址單元依次存放0FFH、43H、10H、0FFH
Ⅳ 請問單片機中ORG是什麼指令有什麼作用
ORG指令用來改變匯編器的計數器,從而設定一個新的程序起始地址。
格式: ORG 表達式
表達式必須是絕對或簡單再定位表達式。
ORG 0000H
AJMP MAIN
設定 MAIN 程序的起始地址為 0000H
也有說是偏移地址,格式為:ORG 偏移地址
Ⅵ 51單片機中ORG是什麼意思有一段示常式序
ORG是個用於定位的偽指令。
簡單的說就是把從這句話開始直到下一個ORG指令或者END指令前的程序語句都順序放在它指定的地址里。比如說你的程序里ORG只管了一個語句(AJMP MAIN),則從0000h這個地址開始放語句。放多少,看下面有幾條語句(直到org或end 指令為止)。
同樣ORG 0030H是把它後面的所有到下一個ORG或END命令前的所有代碼都順序放到從0030H開始的程序單元。這應該是一個子程序。就像C語言里的子函數。
Ⅶ 51單片機ORG指令能隨便寫嗎,如開頭不寫ORG 0000h,而寫ORG 0010h,為什麼會出錯
因為51單片機復位後是從地址0000H開始執行,所以程序的開頭肯定是0000H,也有些CPU復位後不是從0地址開始執行,這時候就需要把程序的開頭定位在相應的復位點處
Ⅷ 單片機ORG 00H AJMP M3102 ORG 03H AJMP LP ORG 08H 的意思
00H是復位向量,從00H開始的指令是跳轉到標號M3102,一般是系統初始化子程序。
03H是外部中斷0向量,從03H開始的指令是跳轉到標號LP,一般是外部中斷0的中斷服務程序。
Ⅸ 單片機指令中ORG是什麼意思
單片機書里有的,ORG後面跟一個地址,是指該語句後的指令會放到這個地址里,一直順序存放,直到END