日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]   一個(gè)計(jì)算機(jī)的指令系統(tǒng)就是它能執(zhí)行的全部指令的集合。8051的指令系統(tǒng)共有111條指令,由42種助記符和7種尋址方式組合而成?! ?051的指令通常包括操作碼,和操作數(shù)兩部分。操作碼規(guī)定指令進(jìn)行什么操作

  一個(gè)計(jì)算機(jī)的指令系統(tǒng)就是它能執(zhí)行的全部指令的集合。8051的指令系統(tǒng)共有111條指令,由42種助記符和7種尋址方式組合而成。

  8051的指令通常包括操作碼,和操作數(shù)兩部分。操作碼規(guī)定指令進(jìn)行什么操作,采用助記表示;操作數(shù)表示指令的操作對(duì)象。

  匯編語(yǔ)言指令的基本形式是:操作碼助記符 目的操作數(shù),源操作數(shù)。

  操作碼助記符與操作數(shù)分開(kāi)書(shū)寫(xiě),操作數(shù)中目的操作數(shù)在前,源操作數(shù)在后,操作數(shù)之間用逗號(hào)分隔。

  如指令MOV B,#23H中符號(hào)MOV就是操作碼助記符,這個(gè)助記符的意義為將源操作數(shù)傳入目的操作數(shù)地址中,累加器A是目的操作數(shù),寄存器B是源操作數(shù)。

  8051的機(jī)器語(yǔ)言指令根據(jù)長(zhǎng)度有一字節(jié)、二字節(jié)、三字節(jié)三種。一字節(jié)指令操作碼中包含了操作數(shù)的信息。如指令I(lǐng)NC A就是一條一字節(jié)指令,其操作碼為00000100B,這個(gè)操作碼的意義是將累加器的內(nèi)容加1,請(qǐng)注意這條指令中的A只是一個(gè)符號(hào),而不是一個(gè)操作數(shù),累加器在指令中只有寫(xiě)成ACC時(shí)才是一個(gè)操作數(shù)。編譯程序在編譯的過(guò)程中將ACC編譯為累加器的直接地址OEOH。

  用指令I(lǐng)NC ACC也可以完成將累加器內(nèi)容加1的功能,但這條指令是兩字節(jié)指令。

  其中,INC是操作碼助記符,代表的意思是將后面的操作數(shù)地址中的內(nèi)容加1,ACC是操作數(shù),在指令中作隱含操作數(shù)的除了符號(hào)A代表累加器外,還有R0到R7代表工作寄存器。

  指令MOV A R0的機(jī)器碼為11101000B,即E8H指令MOV A R1的機(jī)器碼為11101001B,即E9H指令MOV A R2的機(jī)器碼為11101010B,即EAH指令MOV A R7的機(jī)器碼為11101111B,即EFH指令MOV A RN的機(jī)器碼為E8H-EFH。

  兩字節(jié)指令中操作碼,操作數(shù)各占一個(gè)字節(jié)。

  三字節(jié)指令格式為操作碼,操作數(shù)。操作數(shù)在傳送指令中,第一個(gè)操作數(shù)稱(chēng)為目的操作數(shù),第二個(gè)操作數(shù)稱(chēng)為源操作數(shù)。

  三字節(jié)指令中操作碼占第一個(gè)字節(jié),操作數(shù)占后兩字節(jié),操作數(shù)所占兩字節(jié),每字節(jié)表示一個(gè)操作數(shù)。

  下面我們看看指令描述中的符號(hào)。

  Rn表示當(dāng)前選擇的8個(gè)工作寄存器R0~R7中的一個(gè)。在具體編程時(shí)要把RN用到R0到R7中的一個(gè)替換。

  @Ri表示用作間接尋址的工作寄存器,I可取值0或1。表示寄存器間接尋址方式,在具體編程時(shí),符號(hào)@RI要用@R0或@R1替換。

  Direct表示8位直接地址。用于尋址內(nèi)部RAM或特殊功能寄存器。

  #data表示8位立即數(shù)。

  @data16表示16位立即數(shù)。

  Addr16表示16位目的地址。只限于LCALL和LJMP指令使用,在編程時(shí),可直接使用地址標(biāo)號(hào),編譯時(shí),再由編譯軟件自動(dòng)將該標(biāo)號(hào)轉(zhuǎn)換成16位目的地址。

  Addr11表示11位目的地址。只限于ACALL和AJMP使用,在編程時(shí),可直接使用地址標(biāo)號(hào),編譯時(shí),再由編譯軟件自動(dòng)將該標(biāo)號(hào)轉(zhuǎn)換成11位目的地址。

  Rel表示補(bǔ)碼表示的8位偏移量。用于相對(duì)轉(zhuǎn)移指令中,在編程時(shí),可直接使用地址標(biāo)號(hào),編譯時(shí),再由編譯軟件自動(dòng)將該標(biāo)號(hào)轉(zhuǎn)換成8位地址偏移量。

  /bit表示位地址中的位取反。


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉