日本欧美一区-日本欧美一区二区三区片-日本强好片久久久久久AAA-日本-区一区二区三区A片-日本人伦一区二区三区-日本人妻A片成人免费看

電子開發(fā)網(wǎng)

電子開發(fā)網(wǎng)電子設(shè)計(jì) | 電子開發(fā)網(wǎng)Rss 2.0 會(huì)員中心 會(huì)員注冊(cè)
搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 電子開發(fā) >> 單片機(jī) >> 正文

單片機(jī)的指令系統(tǒng)和匯編語言程序

作者:佚名    文章來源:本站原創(chuàng)    點(diǎn)擊數(shù):    更新時(shí)間:2008-11-25
  前面已經(jīng)講述了單片機(jī)的幾個(gè)主要組成部分,這些部分構(gòu)成了單片機(jī)的硬件。
  所謂硬件(Hardware),就是看得到,摸得到的實(shí)體。但是,光有這樣的硬件,還只是有了實(shí)現(xiàn)計(jì)算和控制功能的可能性。單片機(jī)要真正地能進(jìn)行計(jì)算和控制,還必須有軟件(Software)的配合。軟件主要指的是各種程序。只有將各種正確的程序“灌入”(存入)單片機(jī),它才能有效地工作。
  單片機(jī)所以能自動(dòng)地進(jìn)行運(yùn)算和控制,正是由于人把實(shí)現(xiàn)計(jì)算和控制的步驟一步步地用命令的形式,即一條條指令(Instruction)預(yù)先存入到存貯器中,單片機(jī)在CPU的控制下,將指令一條條地取出來,并加以翻譯和執(zhí)行。就以兩個(gè)數(shù)相加這一簡(jiǎn)單的運(yùn)算來說,當(dāng)需要運(yùn)算的數(shù)已存入存貯器后,還需要進(jìn)行以下幾步:
  第一步:把第一個(gè)數(shù)從它的存貯單元(Location)中取出來,送至運(yùn)算器。
  第二步:把第二個(gè)數(shù)從它所在的存貯單元中取出來,送至運(yùn)算器;
  第三步:相加;
  第四步:把相加完的結(jié)果,送至存貯器中指定的單元。
  所有這些取數(shù)、送數(shù)、相加、存數(shù)等等都是一種操作(Operation),我們把要求計(jì)算機(jī)執(zhí)行的各種操作用命令的形式寫下來,這就是指令。但是怎樣才能辨別和執(zhí)行這些操作呢?這是在設(shè)計(jì)單片機(jī)時(shí)由設(shè)計(jì)人員賦予它的指令系統(tǒng)所決定的。一條指令,對(duì)應(yīng)著一種基本  操作;單片機(jī)所能執(zhí)行的全部指令,就是該單片機(jī)的指令系統(tǒng)     (IustructionSet),不同種類的單片機(jī),其指令系統(tǒng)亦不同。
  使用單片機(jī)時(shí),事先應(yīng)當(dāng)把要解決的問題編成一系列指令。這些指令必須是選定的單片機(jī)能識(shí)別和執(zhí)行的指令。單片機(jī)用戶為解決自己的問題所編的指令程序,稱為源程序(SourceProgram)。

  指令通常分為操作碼(Opcode)和操作數(shù)(Operand)兩大部分。操作碼表示計(jì)算機(jī)執(zhí)行什么操作,即指令的功能;操作數(shù)表示參加操作的數(shù)或操作數(shù)所在的地址(即操作數(shù)所存放的地方編號(hào))。
  因?yàn)閱纹瑱C(jī)是一種可編程器件,只“認(rèn)得”二進(jìn)碼(0、1)。要單片機(jī)運(yùn)作,單片機(jī)系統(tǒng)中的所有指令,都必須以二進(jìn)制編碼的形式來表示。例如,在Intel公司的MCS-51系列單片機(jī)中,從存貯器中取出一數(shù)到CPU中的累加器(在運(yùn)算器中,參與運(yùn)算、存放運(yùn)算結(jié)果的專用寄存器)的指令代碼為74H,累加器內(nèi)容加立即數(shù)的代碼為24H,再加上立即數(shù)代碼,累加器送數(shù)到內(nèi)部RAM存貯器的代碼為F6H~F7H等。這些指令是用十六進(jìn)制表示二進(jìn)制的機(jī)器碼。MCS-51單片機(jī)的字長(zhǎng)為8位,有時(shí),要完成某些操作用一個(gè)字節(jié)尚不能充分表達(dá)。所以,在指令系統(tǒng)中有單字節(jié)指令,也有多字節(jié)指令。
  機(jī)器碼是由一連串的0和1組成,沒有明顯的特征,不好記憶,不易理解,易出錯(cuò)。所以,直接用它來編寫程序十分困難。因而,人們就用一些助記符(Muemonic)——通常是指令功能的英文縮寫來代替操作碼,如MCS-51中數(shù)的傳送常用MOV(Move的縮寫)、加法用Add(Addition的縮寫)來作為助記符。這樣,每條指令有明顯的動(dòng)作特征,易于記憶和理解,也不容易出錯(cuò)。用助記符來編寫的程序稱為匯編語言程序。
  但是,助記符編寫的程序便于人理解,可單片機(jī)卻只認(rèn)識(shí)二進(jìn)制機(jī)器代碼,因此,為了讓單片機(jī)能“讀懂”匯編語言程序必須再轉(zhuǎn)換成由二進(jìn)制機(jī)器碼構(gòu)成的程序,這種轉(zhuǎn)換過程,就稱為“匯編”。匯編可借助于人工查表法來實(shí)現(xiàn),也可借助PC機(jī)通過所謂“交叉匯編程序”來完成。
  由機(jī)器碼構(gòu)成的用戶程序一旦“進(jìn)入”了單片機(jī),再“啟動(dòng)”單片機(jī),就可讓它執(zhí)行輸入程序所規(guī)定的任務(wù)。
Tags:單片機(jī),匯編,電路,程序  
責(zé)任編輯:admin
  • 上一篇文章:
  • 下一篇文章:
  • 請(qǐng)文明參與討論,禁止漫罵攻擊,不要惡意評(píng)論、違禁詞語。 昵稱:
    1分 2分 3分 4分 5分

    還可以輸入 200 個(gè)字
    [ 查看全部 ] 網(wǎng)友評(píng)論
    關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
    返回頂部
    刷新頁面
    下到頁底
    晶體管查詢