單片機指令系統
指令是根據計算機硬件特點研制出來的,指令系統與計算機硬件有著相對應的關系,用指令對計算機進行控制能夠充分利用計算機的硬件資源。計算機所能執行的全部指令集合就稱為計算機的指令系統。
機器語言指令用二進制碼表示,是CPU唯一能直接識別和執行的指令,但是不便于人們理解。為便于人們使用而采用匯編語言來編寫程序。匯編語言的指令主要由助記符、符號和數字等來表示,它通過匯編程序將其翻譯成機器指令代碼(目標代碼)來控制CPU完成相應的功能。
一、單片機指令系統匯編語言指令語句格式如下:
標號:操作碼 【操作數1】,【操作數2】 ; 注釋
標號:標號為用戶定義的符號,實際意義代表當前語句在程序存儲器中的存放地址。標號可以缺省,以字母開始,后跟1-8個英文字母或數字,并以冒號結尾。
操作碼:也稱指令助記符,是指令名稱的代表符號,匯編語言中由英文單詞縮寫而成,反映指令的功能。它是指令語句中的關鍵字,不可缺省,表示指令的操作類型,必要時可以在前面加上一個或多過“前綴”,從而實現某些附加操作。
操作數:參加本指令運算的數據或數據存放的地址。一條指令可以沒有操作數,也可以有多個操作數。
注釋:注釋可以缺省,注釋必須用分號(;)開頭。
二、單片機指令格式本章后面章節部分用到了一些一些特殊符號,它們的意義如表1所示。

表1 特殊符號意義表
操作數字段可以只有一個、兩個或多個,分別對應于單字節、雙字節或三字節指令。
1.單字節指令
單字節指令只有一個字節,由8位二進制編碼表示。操作碼和操作數在一個字節中。
例如:MOV A, Ri ; Ri)→(A)把寄存器Ri中的內容送到累加器A中去。
2.雙字節指令
雙字節的編碼由兩個字節組成,其中一個字節為操作碼,另一個字節為操作數。該指令存放在存儲器時需占用兩個存儲器單元。
例如:MOV A, #data ; data → (A)把立即數data送到累加器A中。
在MCS-51匯編語言指令中,立即數前面必須有符號“#”。
3.三字節指令
三字節指令格式中第一個字節為操作碼,其后兩個字節為操作數。操作數可以是數據,
也可以是地址。
例如:MOV direct, #data ; data → (direct) 把立即數data送到內存單元或者特殊功能寄存器中

編輯:admin 最后修改時間:2018-05-08


