<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機匯編語言詳解

          單片機匯編語言詳解

          作者: 時間:2011-09-20 來源:網(wǎng)絡(luò) 收藏

          數(shù)制的概念  

            數(shù)制是人們利用符號進(jìn)行計數(shù)的科學(xué)方法。數(shù)制有很多種,在計算機中常用的數(shù)制有:十進(jìn)制,二進(jìn)制和十六進(jìn)制。

            數(shù)制也稱計數(shù)制,是指用一組固定的符號和統(tǒng)一的規(guī)則來表示數(shù)值的方法。計算機是信息處理的工具,任何信息必須轉(zhuǎn)換成二進(jìn)制形式數(shù)據(jù)后才能由計算機進(jìn)行處理,存儲和傳輸。

          十進(jìn)制數(shù)(Decimal)

            人們通常使用的是十進(jìn)制。它的特點有兩個:有0,1,2….9十個基本數(shù)字組成,十進(jìn)制數(shù)運算是按“逢十進(jìn)一”的規(guī)則進(jìn)行的.
            在計算機中,除了十進(jìn)制數(shù)外,經(jīng)常使用的數(shù)制還有二進(jìn)制數(shù)和十六進(jìn)制數(shù).在運算中它們分別遵循的是逢二進(jìn)一和逢十六進(jìn)一的法則.

          二進(jìn)制數(shù)(Binary)

            二進(jìn)制數(shù)有兩個特點:它由兩個基本數(shù)字0,1組成,二進(jìn)制數(shù)運算規(guī)律是逢二進(jìn)一。
            為區(qū)別于其它進(jìn)制數(shù),二進(jìn)制數(shù)的書寫通常在數(shù)的右下方注上基數(shù)2,或加后面加B表示。
            例如:二進(jìn)制數(shù)10110011可以寫成(10110011)2,或?qū)懗?0110011B,對于十進(jìn)制數(shù)可以不加注.計算機中的數(shù)據(jù)均采用二進(jìn)制數(shù)表示,這是因為二進(jìn)制數(shù)具有以下特點:
            1) 二進(jìn)制數(shù)中只有兩個字符0和1,表示具有兩個不同穩(wěn)定狀態(tài)的元器件。例如,電路中有,無電流,有電流用1表示,無電流用0表示。類似的還比如電路中電壓的高,低,晶體管的導(dǎo)通和截止等。
            2) 二進(jìn)制數(shù)運算簡單,大大簡化了計算中運算部件的結(jié)構(gòu)。
            二進(jìn)制數(shù)的加法和乘法運算如下:
            0+0=0 0+1=1+0=1 1+1=10
            0×0=0 0×1=1×0=0 1×1=1

          八進(jìn)制數(shù)(Octal)

            由于二進(jìn)制數(shù)據(jù)的基R較小,所以二進(jìn)制數(shù)據(jù)的書寫和閱讀不方便,為此,在小型機中引入了八進(jìn)制。八進(jìn)制的基R=8=2^3,有數(shù)碼0、1、2、3、4、5、6、7,并且每個數(shù)碼正好對應(yīng)三位二進(jìn)制數(shù),所以八進(jìn)制能很好地反映二進(jìn)制。八進(jìn)制用下標(biāo)8或數(shù)據(jù)后面加Q表示 例如:二進(jìn)制數(shù)據(jù) ( 11 101 010 . 010 110 100 )2 對應(yīng) 八進(jìn)制數(shù)據(jù) ( 3 5 2 . 2 6 4 )8或352.264Q.

          十六進(jìn)制數(shù)(Hex)

            由于二進(jìn)制數(shù)在使用中位數(shù)太長,不容易記憶,所以又提出了十六進(jìn)制數(shù)
            十六進(jìn)制數(shù)有兩個基本特點:它由十六個字符0~9以及A,B,C,D,E,F(xiàn)組成(它們分別表示十進(jìn)制數(shù)10~15),十六進(jìn)制數(shù)運算規(guī)律是逢十六進(jìn)一,即基R=16=2^4,通常在表示時用尾部標(biāo)志H或下標(biāo)16以示區(qū)別。
            例如:十六進(jìn)制數(shù)4AC8可寫成(4AC8)16,或?qū)懗?AC8H。

          數(shù)的位權(quán)概念

            對于形式化的進(jìn)制表示,我們可以從0開始,對數(shù)字的各個數(shù)位進(jìn)行編號,即個位起往左依次為編號0,1,2,……;對稱的,從小數(shù)點后的數(shù)位則是-1,-2,……
            進(jìn)行進(jìn)制轉(zhuǎn)換時,我們不妨設(shè)源進(jìn)制(轉(zhuǎn)換前所用進(jìn)制)的基為R1,目標(biāo)進(jìn)制(轉(zhuǎn)換后所用進(jìn)制)的基為R2,原數(shù)值的表示按數(shù)位為AnA(n-1)……A2A1A0.A-1A-2……,R1在R2中的表示為R,則有(AnA(n-1)……A2A1A0.A-1A-2……)R1=(An*R^n+A(n-1)*R^(n-1)+……+A2*R^2+A1*R^1+A0*R^0+A-1*R^(-1)+A-2*R^(-2))R2
           ?。ㄓ捎诖颂幉豢蛇x擇字體,說明如下:An,A2,A-1等符號中,n,2,-1等均應(yīng)改為下標(biāo),而上標(biāo)的冪次均用^作為前綴)
            舉例:
            一個十進(jìn)制數(shù)110,其中百位上的1表示1個10^2,既100,十位的1表示1個10^1,即10,個位的0表示0個100,即0。
            一個二進(jìn)制數(shù)110,其中高位的1表示1個2^2,即4,低位的1表示1個2^1,即2,最低位的0表示0個2^0,即0。
            一個十六進(jìn)制數(shù)110,其中高位的1表示1個16^2,即256,低位的1表示1個16^1,即16,最低位的0表示0個16^0,即0。
            可見,在數(shù)制中,各位數(shù)字所表示值的大小不僅與該數(shù)字本身的大小有關(guān),還與該數(shù)字所在的位置有關(guān),我們稱這關(guān)系為數(shù)的位權(quán)。
            十進(jìn)制數(shù)的位權(quán)是以10為底的冪,二進(jìn)制數(shù)的位權(quán)是以2為底的冪,十六進(jìn)制數(shù)的位權(quán)是以16為底的冪。數(shù)位由高向低,以降冪的方式排列。

          進(jìn)數(shù)制之間的轉(zhuǎn)換

            1.二進(jìn)制數(shù)、十六進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)(按權(quán)求和)
            二進(jìn)制數(shù)、十六進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)的規(guī)律是相同的。把二進(jìn)制數(shù)(或十六進(jìn)制數(shù))按位權(quán)形式展開多項式和的形式,求其最后的和,就是其對應(yīng)的十進(jìn)制數(shù)——簡稱“按權(quán)求和”.
            例如:把(1001.01)2轉(zhuǎn)換為十進(jìn)制數(shù)。
            解:(1001.01)2
            =1*8+4*0+2*0+1*1+0*(1/2)+1*(1/4)
            =8+0+0+1+0+0.25
            =9.25
            把(38A.11)16轉(zhuǎn)換為十進(jìn)制數(shù)
            解:(38A.11)16
            =3×16的2次方+8×16的1次方+10×16的0次方+1×16的-1次方+1×16的-2次方
            =768+128+10+0.0625+0.0039
            =906.0664
            2.十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù),十六進(jìn)制數(shù)(除2/16取余法)
            整數(shù)轉(zhuǎn)換.一個十進(jìn)制整數(shù)轉(zhuǎn)換為二進(jìn)制整數(shù)通常采用除二取余法,即用2連續(xù)除十進(jìn)制數(shù),直到商為0,逆序排列余數(shù)即可得到――簡稱除二取余法.
            例:將25轉(zhuǎn)換為二進(jìn)制數(shù)
            解:25÷2=12 余數(shù)1
            12÷2=6 余數(shù)0
            6÷2=3 余數(shù)0
            3÷2=1 余數(shù)1
            1÷2=0 余數(shù)1
            所以25=(11001)2
            同理,把十進(jìn)制數(shù)轉(zhuǎn)換為十六進(jìn)制數(shù)時,將基數(shù)2轉(zhuǎn)換成16就可以了.
            例:將25轉(zhuǎn)換為十六進(jìn)制數(shù)
            解:25÷16=1 余數(shù)9
            1÷16=0 余數(shù)1
            所以25=(19)16
            3.二進(jìn)制數(shù)與十六進(jìn)制數(shù)之間的轉(zhuǎn)換
            由于4位二進(jìn)制數(shù)恰好有16個組合狀態(tài),即1位十六進(jìn)制數(shù)與4位二進(jìn)制數(shù)是一一對應(yīng)的.所以,十六進(jìn)制數(shù)與二進(jìn)制數(shù)的轉(zhuǎn)換是十分簡單的.
            (1)十六進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù),只要將每一位十六進(jìn)制數(shù)用對應(yīng)的4位二進(jìn)制數(shù)替代即可――簡稱位分四位.
            例:將(4AF8B)16轉(zhuǎn)換為二進(jìn)制數(shù).
            解: 4 A F 8 B
            0100 1010 1111 1000 1011
            所以(4AF8B)16=(1001010111110001011)2
            (2)二進(jìn)制數(shù)轉(zhuǎn)換為十六進(jìn)制數(shù),分別向左,向右每四位一組,依次寫出每組4位二進(jìn)制數(shù)所對應(yīng)的十六進(jìn)制數(shù)――簡稱四位合一位.
            例:將二進(jìn)制數(shù)(000111010110)2轉(zhuǎn)換為十六進(jìn)制數(shù).
            解: 0001 1101 0110
            1 D 6
            所以(111010110)2=(1D6)16
            轉(zhuǎn)換時注意最后一組不足4位時必須加0補齊4位

          數(shù)制轉(zhuǎn)換的一般化

            1)R進(jìn)制轉(zhuǎn)換成十進(jìn)制
            任意R進(jìn)制數(shù)據(jù)按權(quán)展開、相加即可得十進(jìn)制數(shù)據(jù)。 例如:N = 1101.0101B = 1*2^3+1*2^2+0*21+1*2^0+0*2^-1+1*2^-2+0*2^-3+1*2^-4 = 8+4+0+1+0+0.25+0+0.0625 = 13.3125
            N = 5A.8 H = 5*161+A*160+8*16-1 = 80+10+0.5 = 90.5
            2)十進(jìn)制轉(zhuǎn)換R 進(jìn)制
            十進(jìn)制數(shù)轉(zhuǎn)換成R 進(jìn)制數(shù),須將整數(shù)部分和小數(shù)部分分別轉(zhuǎn)換.
            1.整數(shù)轉(zhuǎn)換----除R 取余法 規(guī)則:(1)用R 去除給出的十進(jìn)制數(shù)的整數(shù)部分,取其余數(shù)作為轉(zhuǎn)換后的R 進(jìn)制數(shù)據(jù)的整數(shù)部分最低位數(shù)字; (2)再用2去除所得的商,取其余數(shù)作為轉(zhuǎn)換后的R 進(jìn)制數(shù)據(jù)的高一位數(shù)字; (3)重復(fù)執(zhí)行(2)操作,一直到商為0結(jié)束。 例如: 115 轉(zhuǎn)換成 Binary數(shù)據(jù)和Hexadecimal數(shù)據(jù) (圖2-4) 所以 115 = 1110011 B = 73 H
            2.小數(shù)轉(zhuǎn)換-----乘R 取整法 規(guī)則:(1)用R 去除給出的十進(jìn)制數(shù)的小數(shù)部分,取乘積的整數(shù)部分作為轉(zhuǎn)換后R 進(jìn)制小數(shù)點后第一位數(shù)字; (2)再用R 去乘上一步乘積的小數(shù)部分,然后取新乘積的整數(shù)部分作為轉(zhuǎn)換后R 進(jìn)制小數(shù)的低一位數(shù)字; (3)重復(fù)(2)操作,一直到乘積為0,或已得到要求精度數(shù)位為止。

          單片機相關(guān)文章:單片機教程


          單片機相關(guān)文章:單片機視頻教程


          單片機相關(guān)文章:單片機工作原理




          關(guān)鍵詞: 單片機 匯編語言

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();