❶ 操作碼與指令的關系
MCS-51使用匯編語言指令,它共有44個操作碼助記符,33種功能,其操作數有#data、direct、Rn、@Ri等。這里先介紹指令助記符及其相關符號的記憶方法。 一、助記符號的記憶方法 1�表格列舉法 把44個指令助記符按功能分為五類,每類列表記憶。此處從略,請讀者自己總結。 2�英文還原法 單片機的操作碼助記符是該指令功能的英文縮寫,將縮寫還原成英語原文,再對照漢語有助於理解其助記符含義,從而加強記憶。例如:增量 INC-Incremect 減量 DNC-Decrement 短轉移 SJMP-Short jump 長轉移 LJMP-Long jump 比較轉移 CJNE-Compare jump not equality 絕對轉移 AJMP-Absolute jump 空操作 NOP-No operation 交換 XCH-Exchange 加法 ADD-Addition 乘法 MUL-Multiplication 除法 DIV-Division 左環移 RL-Rotate left 進位左環移 RLC-Rotate left carry 右環移 RR-Rotate right 進位右環移RRC-Rotate right carry 3�功能模塊記憶法 單片機的44個指令助記符,按所屬指令功能可分為五大類,每類又可以按功能相似原則為2~3組。這樣,化整為零,各個擊破,實現快速記憶。 1)數據傳送組。 2)加減運算組 MOV 內部數據傳送 ADD 加法 MOVC 程序存儲器傳送 ADDC 帶進位加法 MOVX 外部數據傳送 SUBB 帶進位減法 3)邏輯運算組。 4)子程序調用組。 ANL 邏輯與 LCALL 長調用 ORL 邏輯或 ALALL 絕對調用 XRL 邏輯異或 RET 子程序返回 二、指令的記憶方法 1�指令操作數的有關符號 MCS-51的定址方式共有六種:立即數定址、直接定址、寄存器定址、寄存器間址、變址定址、相對定址。我們必須掌握其表示的方法。 1)立即數與直接地址。ata表示八位立即數,#data16表示是十六位立即數,data或 direct表示直接地址。 2)Rn(n=0-7)、A、B、CY、DPTR寄存器定址變數。 3)@R0、@R1、@DPTR、SP表示寄存器間址變數。 4)DPTR+A、PC+A表示變址定址的變數。 5)PC+rel(相對量)表示相對定址變數。 記住指令的助記符,掌握不同定址方式的指令操作數的表示方法,為我們記憶匯編指令打下了基礎。MCS-51指令雖多,但按功能可分為五類,其中數據傳送類28條,算術運算類24條,邏輯操作類25條,控制轉移類17條,布爾位操作類17條。在每類指令里,根據其功能,抓住其源、目的操作數的不同組合,再輔之以下方法,是完全能記住的。我們約定,可能的目的操作數按(#data/direct/A/Rn/@Ri)順序表示。 對於MOV指令,其目的操作數按A、Rn、direct、@Ri的順序書寫,則可以記住MOV的15 條指令。例如以累加器A為目的操作數,可寫出如下4條指令。 MOV A,#data/direct/A/Rn/@Ri 以此類推,寫出其它指令。 MOV Rn,#data/direct/A MOV direct,#data/direct/A/Rn/@Ri MOV @Ri,#data/direct/A 2�指令圖示記憶法 圖示記憶法是把操作功能相同或相似、但其操作數不同的指令,用圖形和箭頭將目的、源操作數的關系表示出來的一種記憶方法。例如:由助記符MOV、MOVX、MOVC組成的送數組指令,可以用圖1、2幫助記憶。 由助記符CJNE形成的四條指令,也可以用圖示法表示,如圖3。 CJNE A,#data,rel CJNE A,direct,rel CJNE @Rn,#data,rel CJNE @Ri,#data,rel 另外,對於由(ANL、ORL、ARL)形成的18條邏輯操作指令,有關A的四條環移指令,也可以用圖示法表示,請讀者自行畫出記憶。 3�相似功能歸類法 在MCS-51指令中,我們發現部分指令其操作碼不同,但功能相似,而操作數則完全一樣。相似功能歸類法就是把具有這樣特點的指令放在一起記憶,只要記住其中的一條,其餘的也就記住了。如加、減法的十二條指令,與、或、非的十八條指令,現列舉如下。 ADD/ADDC/SUBB A,#data/direct/Rn/@Ri ANL/ORL/XRL A,#data/direct/Rn/@Ri ANL/ORL/XRL direct,#data/a 上述每一排指令,功能相似,其操作數都相同。其它的如加1(INC)、減1(DEC)指令也可照此辦理。 4�口訣記憶法 對於有些指令,我們可以把相關的功能用精練的語言編成一句話來記憶。如PUSH direct和POP direct這兩條指令。初學者常常分不清堆棧SP的變化情況,為此編成這樣一句話:(SP的內容)加1(direct的內容)再入棧,(SP的內容)彈出(到direct單元)SP才減1。又如乘法指令中積的存放,除法指令中被除數和除數以及商的存放,都可以編成口訣記憶如下。 MUL AB 高位積(存於)B,低位積(存於)A。 DIV AB A除以B,商(存於)A余(下)B。 7 回答者: mincowski
❷ 計算機中的指令和程序有什麼區別
1、原理不同
指令:控制器按指令指令指令機器。人們用指令表達他們的意圖,並把它們交給控制者執行。計算機可以執行的一整套不同的指令稱為計算機的指令系統。每台計算機都有自己的專用指令系統,其指令內容和格式也各不相同。
程序:計算機需要載入代碼,也需要載入數據。在計算機的底層,通過高級語言例如Java,C/C++,C#等)將其翻譯成機器語言,並由CPU載入。
2、所含內容不同
指令:包括兩個方面:操作碼和操作數,它們決定了要完成的操作。
(1)操作員是指執行操作的設備的數據和地址。
(2)在計算機中,操作要求和操作數地址用二進制數字表示,分別稱為操作碼和地址碼。整個指令以二進制編碼的形式存儲在內存中。
程序:以某些程序設計語言編寫,運行於某種目標結構體繫上。打個比方,程序就如同以英語(程序設計語言)寫作的文章,要讓一個懂得英語的人(編譯器)同時也會閱讀這篇文章的人(結構體系)來閱讀、理解、標記這篇文章。
(2)命令符與操作碼的區別擴展閱讀:
程序演算法的特點:
1、有窮性:演算法必須確保在執行有限步之後完成。
2、可行性:演算法是精確可行的,即使在數學上,演算法也是可行的,但如果在實際應用中,程序不能執行,那麼演算法是不可行的。
3、確切性:演算法的每一步都必須有明確的含義。
4、輸入:演算法必須有0個或多個輸入。
5、輸出:一個演算法必須有一個或多個輸出。
❸ 什麼是操作碼和操作數
操作碼:計算機程序中所規定的要執行操作的那一部分指令或欄位(通常用代碼表示),其實就是指令序列號,用來告訴CPU需要執行哪一條指令。
指令系統的每一條指令都有一個操作碼,它表示該指令應進行什麼性質的操作。不同的指令用操作碼這個欄位的不同編碼來表示,每一種編碼代表一種指令。組成操作碼欄位的位數一般取決於計算機指令系統的規模。
操作數:運算符作用於的實體,是表達式中的一個組成部分,它規定了指令中進行數字運算的量。
通常一條指令均包含操作符和操作數。例如:在比較指令中操作符指定計算機做比較操作,操作數則指定進行比較的兩個數值。
操作數是指令執行的參與者,也就是各種操作的對象.與之有關的是操作碼,所謂操作碼是說明計算機要執行哪種,如傳送,運算,移位,跳轉等操作,它是指令中不可缺少的組成部分。
(3)命令符與操作碼的區別擴展閱讀:
操作數的形式:
立即操作數:指令要操作的數據以常量的形式出現在指令中,稱為立即數,它只能作為源操作數。
寄存器操作數:指令要操作的數據存放在CPU中的寄存器里,指令中給出寄存器名即可。
內存操作數:指令要操作的數據存放在內存某些單元中,指令中給出內存單元物理地址(實際上指令只給出了偏移地址,段地址採用隱含方式給出,也可以使用跨段方式指出當前段地址)。
操作碼:是指令操作功能的記述,而操作數描述操作的對象和操作的范圍。PIC16F873共有35條指令,均是長度為14位的單位元組指令。
因此許可權控制在業務介面上進行,按管理功能點劃分管理操作許可權,將每一個管理功能點劃分為一個操作,用一個全局唯一的整數表示,稱為操作碼。
至於其餘各計數解碼器因相應的按鈕未被按故其輸出皆為YO=「回」上述操作可按照被按按鈕的編號及被接的順序和次數簡寫成1328「稱為操作碼。
❹ 指令、操作碼、機器碼 的區別是什麼
指令包括操作碼和操作數,機器碼是用機器語言描述的指令
❺ 操作碼,指令,關鍵字的區別,,計算機,,,編程,,C語言
你好,這個操作碼,指令,關鍵字應該是匯編語言的只是吧?
比如 LD R1 ,R2 這個就是一條指令,R1,R2是寄存器定址的操作碼,LD是關鍵字
❻ 匯編語言中的操作碼是什麼意思
匯編語言中的操作碼是指令序列號,用來告訴CPU需要執行哪一條指令的意思。通俗的講就是計算機程序中所規定的要執行操作的那一部分指令或欄位。
指令系統的每一條指令都有一個操作碼,表示該指令應進行什麼性質的操作。不同的指令用操作碼這個欄位的不同編碼來表示,每一種編碼代表一種指令。組成操作碼欄位的位數一般取決於計算機指令系統的規模。
(6)命令符與操作碼的區別擴展閱讀
操作碼就是指令碼,佔一個位元組的長度,一個位元組碼可以有多少操作數.目前,Java虛擬機規范中定義了220個位元組碼指令。
技術性符號也是通過0和1來定義的,例如,操作碼+的定義是01100001,等等.由此可以看出,B中只有兩個初始符號0和1。
操作碼是指令操作功能的記述,而操作數描述操作的對象和操作的范圍.PIC16F873共有35條指令,均是長度為14位的單位元組指令。
地址碼則復雜一些,主要包括源操作數地址、目的操作數地址.在某些指令中,地址碼可以部分或全部省略,比如一條空指令就只有操作碼而沒有地址碼。
❼ 操作碼和指令是什麼關系
一條指令裡麵包含了操作碼,比如說ADD r1,r2;這是一條匯編指令,r1,r2就是操作碼。
❽ 什麼是操作碼和操作數
操作碼其實就是指令序列號,用來告訴CPU需要執行哪一條指令。
指令系統的每一條指令都有一個操作碼,它表示該指令應進行什麼性質的操作。不同的指令用操作碼這個欄位的不同編碼來表示,每一種編碼代表一種指令。組成操作碼欄位的位數一般取決於計算機指令系統的規模。
操作數(operand),是計算機指令中的一個組成部分,它規定了指令中進行數字運算的量 。操作數指出指令執行的操作所需要數據的來源。操作數是匯編語言指令的一個欄位。例如:Mov AX 5678H 操作數(AX 5678H)。在操作數這個欄位中可以放操作數本身,也可以放操作地址,還可以放操作地址的計算方法。
通常一條指令均包含操作符和操作數。例如:在比較指令中操作符指定計算機做比較操作,操作數則指定進行比較的兩個數值。
操作數是指令執行的參與者,也就是各種操作的對象.與之有關的是操作碼,所謂操作碼是說明計算機要執行哪種,如傳送,運算,移位,跳轉等操作,它是指令中不可缺少的組成部分。