簡介: 大家都知道,匯編語言指令由操作碼、操作數兩部分組成。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條。在每類指令里, 根據其功能,抓住其源、目的操作數的不同組合,再輔之以下方法,是完全能記住的。
我們約定,可能的目的操作數按順序表示。
對于MOV指令,其目的操作數按A、Rn、direct、@Ri的順序書寫,則可以記住MOV的15條指令。
例如以累加器A為目的操作數,可寫出如下4條指令。
MOV A, 以此類推,寫出其它指令。
MOV Rn,MOV direct,
MOV @Ri,#data/direct/A
2.指令圖示記憶法 圖示記憶法是把操作功能相同或相似、但其操作數不同的指令,用圖形和箭頭將目的、源操作數的關系表示出來的一種記憶方法。
例如:由助記符 MOV、MOVX、MOVC組成的送數組指令,可以用圖1、2 幫助記憶。由助記符CJNE形成的四條指令,也可以用圖示法表示,如圖3。 CJNE A,#data,rel CJNE A,direct,relCJNE @Rn,#data,relCJNE @Ri,#data,rel另外,對于由(ANL、ORL、ARL)形成的18條邏輯操作指令,有關A的四條環移指令,也可以用圖示法表示,請讀者自行畫出記憶。
3.相似功能歸類法
在MCS-51指令中,我們發現部分指令其操作碼不同,但功能相似,而操作數則完全一樣。相似功能歸類法就是把具有這樣特點的指令放在一起記憶,只要記住其中的一條,其余的也就記住了。如加、減法的十二條指令,與、或、非的十八條指令,現列舉如下。
ADD/ADDC/SUBB A
ANL/ORL/XRL A
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 ABA除以B,商(存于)A余(下)B。
上面介紹了幾種快速記憶單片機指令的方法,希望能起到拋磚引玉的作用,相信讀者在學習單片機的過程中能找到適合自己的方法來記憶。但是,有了好的方法還不夠,還需要實踐,即多讀書上的例題和別人編寫的程序,自己再結合實際編寫一些程序。只有這樣,才能更好更快地掌握單片機指令系統。
上一篇:93C46/93c06/93c46/93c56/93c66/93c86的驅動程序(C51)
下一篇:51單片機數據存儲類型
推薦閱讀
史海拾趣
在LED照明產品的生產過程中,DDP Engineered LED Solutions公司始終堅守品質控制的原則。公司建立了嚴格的生產流程和質檢標準,確保每一件產品都符合質量要求。同時,公司還積極引入先進的生產設備和管理系統,提升生產效率和產品質量。正是這些努力,讓DDP的產品在市場上贏得了客戶的信任和好評,為公司贏得了良好的口碑。
近年來,隨著電子行業的快速發展和市場競爭的加劇,CMDS也面臨著諸多挑戰。例如,原材料價格波動、人工成本上升、環保要求提高等都給公司的生產和經營帶來了壓力。然而,CMDS憑借其強大的技術實力和市場競爭力,積極應對這些挑戰。通過優化生產流程、提高生產效率、加強成本管理等措施,CMDS不僅成功克服了這些困難,還實現了穩健的發展。同時,公司還注重環境保護和社會責任,積極推動可持續發展戰略的實施。
進入21世紀后,FILTRONETICS意識到全球化市場的重要性,開始積極開拓國際市場。公司加強了與國際客戶的溝通與合作,參加了多個國際電子展會,展示了公司的技術和產品。同時,公司還在海外設立了分支機構,以便更好地服務當地客戶。通過不懈的努力,FILTRONETICS成功打入多個國際市場,并贏得了眾多國際客戶的信賴和支持。
為了確保產品質量,FILTRONETICS始終將質量管理放在首位。公司建立了完善的質量管理體系,從原材料采購、生產制造到產品檢測、售后服務等各個環節都嚴格把關。同時,公司還引入了先進的檢測設備和技術手段,對產品進行全方位的質量檢測和控制。這些措施不僅確保了產品的穩定性和可靠性,也提升了公司的品牌形象和市場聲譽。
FILTRONETICS Inc成立于1970年代,初期專注于濾波器技術的研發與生產。在那個時代,隨著通信技術的快速發展,對高質量濾波器的需求日益增長。公司研發團隊通過不懈努力,成功研發出了一種新型LC濾波器,該濾波器在頻率選擇性和插入損耗方面表現出色,迅速獲得了市場的認可。這一技術突破不僅鞏固了FILTRONETICS在濾波器領域的地位,也為公司的后續發展奠定了堅實的基礎。
DIALIGHT公司的故事始于1938年的紐約布魯克林,當時該公司專注于為飛機生產儀表板燈。隨著技術的不斷進步和市場的變化,公司在1971年,即LED推出僅一年后,推出了他們的第一個LED產品。這一舉措標志著DIALIGHT正式從傳統的飛機儀表板燈制造轉向LED照明技術的研發和應用。從此,DIALIGHT徹底改變了LED的用途,將其廣泛應用于世界各地的交通控制、指示燈、結構塔和工業場所,為全球提供了優質的照明解決方案。
一、CAN和CANopen簡介 CAN總線全稱為Controller Area Network即控制器局域網是國際上應用最廣泛的現場總線之一,已經在汽車制造、機械制造、包裝機械、煙草等行業得到了廣泛的應用。CAN總線是德國 BOSCH公司從80年代初為解決現代汽車中眾多的 ...… 查看全部問答∨ |
|
本帖最后由 jameswangsynnex 于 2015-3-3 19:59 編輯 公司以代理臺灣禾瑞亞 【EMPIA】全系列芯片為主導,兼營多家國內外半導體公司【TI、PHILIPS、FMD等】消費類IC的增值方案服務商。客戶和產品類型涵蓋視頻與圖像采集領域。如:視頻采集類 ...… 查看全部問答∨ |
關鍵字:寬動態攝像機 根據調查統計,2008年中國寬動態攝像機市場總量約300萬臺,占全部攝像機市場的25%,約30億人民幣。較2007年,2008年寬動態攝像機市場增幅超過30%。在對2009年1月~3月的三個月調查中,統計出寬動態攝像機生產了約2 ...… 查看全部問答∨ |
小弟剛剛畢業,來到深圳找工作,想找硬件方面工作,但是由于大學沒好好讀,找不到好點的工作。 請問大蝦,深圳什么地方有培訓硬件的機構,比如培訓畫電路圖啊,焊電路板之類的。 還有深圳做硬件的公司哪些比較適合的,比如畫手機電路什么的,我對 ...… 查看全部問答∨ |
|
應用程序放在NAND FLASH,開機讓WINCE啟動應用程序怎么實現啊,以前是把應用程序編譯到內核采用下邊方法實現的 1、 將應用程序和應用程序快捷方式添加到映像里,再將快捷方式添加到StartUp目錄下,這樣當系統運行后應用程序就能自動運行; 2、 直 ...… 查看全部問答∨ |
請路過的大蝦給菜鳥解疑了。。 在嵌入式方面是java用的多還是c/c++要多? java嵌入式除了j2me還有哪些方向? java嵌入式的前景看好嗎? 干java嵌入式除了j2se還要學那些東西,軟件方面的? 請給初學者點入門建議? 謝謝大蝦們,一下問了這么多 ...… 查看全部問答∨ |
啟動edk時發現license過期了,但是貌似還能用,哪有最新的破解文件?WARNING:EDK:2842 - Your license for \'ISE\' expires in -27 days.WARNING:EDK:2842 - Your license for \'XPS\' expires in -27 days.WARNING:EDK:2842 - Your license for \' ...… 查看全部問答∨ |