匯編語言與接口技術.的知識_第1頁
匯編語言與接口技術.的知識_第2頁
匯編語言與接口技術.的知識_第3頁
匯編語言與接口技術.的知識_第4頁
匯編語言與接口技術.的知識_第5頁
已閱讀5頁,還剩23頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

☆常見術語

☆計算機中的數據表示微機原理預備知識11.位(bit)2.字節(Byte)3.字和字長(word)4.位編號§1常用術語21.

位(bit)

指計算機能表示的最基本最小的單位在計算機中采用二進制表示數據和指令,故:位就是一個二進制數,有兩種狀態,“0”和“1”2.字節(Byte)

相鄰的8位二進制數稱為一個字節1Byte=8bit

如:110000110101011133.字和字長

字是CPU內部進行數據處理的基本單位。位

1或01位字節

110000118位字

110000110011110016位雙字

1100001100111100110000110011110032位高字節低字節

高字

低字把一個字定為16位,1Word=2Byte

一個雙字定為32位

1DWord=2Word=4Byte4字長是衡量CPU工作性能的一個重要參數。

10101100011001011001100001000011被加數

+11000011110000110001010101011000加數進位

11111111111101110000001010001010110110011011和4位8次

8位4次16位2次32位1次

字長是指機器在某時刻可以同時處理二進制數的位數。通常稱處理字長為8位數據的CPU叫8位CPU,32位CPU就是在同一時間內處理字長為32位的二進制數據。

56例某CPU內含8位運算器,則:參加運算的數及結果均以

8位

表示,最高位產生的進位或借位在8位運算器中不保存,而將其保存到標志寄存器中10110101被加數8位

+10001111加數8位進位1

11111101000100和8位PSW標志寄存器運算器標志寄存器運算器被加數加數和進位64.位編號為便于描述,對字節,字和雙字中的各位進行編號。從低位開始,從右到左依次為0、1、2...←編號7654321010100010D7D6D5D4D3D2D1D0A7A6A5A4A3A2A1A0字節數據Data地址Address7D0D7D15D8158101010101010101070A0A7A15A8字的編號為15~0雙字的編號依此類推,為31~08§2計算機中的數據表示數制及其表示方法數據表示與運算?92.1數制的表示1.常用數制(1)十進制數

我們熟悉的十進制數有兩個主要特點:有十個不同的數字符號:0、1、2、…、9;低位向高位進、借位的規律是“逢十進一”“借一當十”的計數原則進行計數。例如:

1234.45=1×103+2×102+3×101+4×100+4×10-1+

5×10-2

式中的10稱為十進制數的基數,103、102、101、100、10-1、10-2稱為各數位的權。十進制數用D結尾表示。10(2)二進制數

在二進制中只有兩個不同數碼:0和1,進位規律是“逢二進一”“借一當二”的計數原則進行計數。二進制數用B結尾表示。例如,二進制數11011011.01可表示為:(11011011.01)B==1×27+1×26+0×25+1×24+1×23+0×22+1×21+1×20+0×2-1+1×2-2(3)八進制數

在八進制中有0、1、2…、7八個不同數碼,采用“逢八進一”“借一當八”的計數原則進行計數。八進制數用Q結尾表示。例如,八進制數(503.04)Q可表示為:

(503.04)Q=5×82+0×81+3×80+0×8-1+4×8-211(4)十六進制數

在十六進制中有0、1、2…、9、A、B、C、D、E、F共十六個不同的數碼,采用“逢十六進一”“借一當十六”的計數原則進行計數。十六進制數用H結尾表示。例如,十六進制數(4E9.27)H可表示為(4E9.27)H=4×162+14×161+9×160+2×16-1+7×16-22.不同進制數之間的相互轉換

表1列出了二、八、十、十六進制數之間的對應關系,熟記這些對應關系對后續內容的學習會有較大的幫助。12(1)二、八、十六進制數轉換成為十進制數

根據各進制的定義表示方式,按權展開相加,即可轉換為十進制數。【例1-1】將(10101)B,(72)Q,(49)H轉換為十進制數。(10101)B=1×24+0×23+1×22+0×21+1×20=37(72)Q=7×81+2×80=58(49)H=4×161+9×160=73(2)十進制數轉換為二進制數

十進制數轉換二進制數,需要將整數部分和小數部分分開,采用不同方法進行轉換,然后用小數點將這兩部分連接起來。13①整數部分:除2取余法。

具體方法是:將要轉換的十進制數除以2,取余數;再用商除以2,再取余數,直到商等于0為止,將每次得到的余數按倒序的方法排列起來作為結果。【例1-2】將十進制數25轉換成二進制數所以(25)D=11001B14②小數部分:乘2取整法。

具體方法是:將十進制小數不斷地乘以2,直到積的小數部分為零(或直到所要求的位數)為止,每次乘得的整數依次排列即為相應進制的數碼。最初得到的為最高有效數位,最后得到的為最低有效數字。【例1-3】將十進制數0.625轉換成二進制數。所以(0.625)D=0.101B15【例1-4】將十進制數25.625轉換成二進制數,只要將上例整數和小數部分組合在一起即可,即(25.625)D=(11001.101)B例如:將十進制193.12轉換成八進制數。所以(193.12)D(301.075)Q16(3)二進制與八進制之間的相互轉換

由于23=8,故可采用“合三為一”的原則,即從小數點開始向左、右兩邊各以3位為一組進行二-八轉換:若不足3位的以0補足,便可以將二進制數轉換為八進制數。反之,每位八進制數用三位二進制數表示,就可將八進制數轉換為二進制數。【例1-5】將(10100101.01011101)B轉換為八進制數。

010100

101.010

111

010

2

4

5

.

2

7

2

即(10100101.01011101)B=(245.272)Q17【例1-6】將(756.34)Q轉換為二進制數。

756.34111101110.011100

即(756.34)Q=(111101110.0111)B(4)二進制與十六進制之間的相互轉換

由于24=16,故可采用“合四為一”的原則,即從小數點開始向左、右兩邊各以4位為一組進行二—十六轉換,若不足4位的以0補足,便可以將二進制數轉換為十六進制數。反之,每位十六進制數用四位二進制數表示,就可將十六進制數轉換為二進制數。18【例1-7】將(1111111000111.100101011)B轉換為十六進制數。

0001

1111

11000111.1001

0101

1000

1

F

C

7.9

5

8

即(111111000111.100101011)B=(1FC7.958)H【例1-8】將(79BD.6C)H轉換為二進制數。

79BD.6C0111100110111101.01101100

即(79BD.6C)H=(1111.011011)B192.3.1二進制數在計算機內的表示1.機器數

在計算機中,因為只有“0”和“1”兩種形式,所以數的正、負號,也必須以“0”和“1”表示。通常把一個數的最高位定義為符號位,用0表示正,1表示負,稱為數符,其余位仍表示數值。把在機器內存放的正、負號數碼化的數稱為機器數,把機器外部由正、負號表示的數稱為真值數。2.3計算機數值數據表示與運算20【例1-11】真值為(-0101100)B的機器數為,存放在機器中,如圖1.3所示。

圖1.3真值B在機器中的存放

要注意的是,機器數表示的范圍受到字長和數據的類型的限制。字長和數據類型定了,機器數能表示的數值范圍也就定了。

例如,若表示一個整數,字長為8位,則最大的正數為,最高位為符號位,即最大值為127。若數值超出127,就要“溢出”。最小負數為,最高位為符號位,即最小值為-128。212.帶符號數的表示

在計算機中,帶符號數可以用不同方法表示,常用的有原碼、反碼和補碼。(1)原碼【例1-13】當機器字長n=8時:

[+1]原=00000001,[-1]原=10000001[+127]原=01111111,[-127]原=1111111l由此可以看出,在原碼表示法中:

最高位為符號位,正數為0,負數為1,其余n-1位表示數的絕對值。在原碼表示中,零有兩種表示形式,即:

[+0]=,

[-0]=。22

(2)反碼【例1-14】當機器字長n=8時:

[+1]反=,[-1]反=[+127]反=,[-127]反=

由此看出,在反碼表示中:

正數的反碼與原碼相同,負數的反碼只需將符號位保留不變,其余位求反。

反碼表示方式中,零有兩種表示方法:[+0]反=,[-0]反=。23(3)補碼【例1-15】當機器字長n=8時,[+1]補=,[-1]補=[+127]補=,[-127]補=

由此看出,在補碼表示中:

正數的補碼與原碼、反碼相同,負數的補碼等于它的反碼加l。

在補碼表示中,0有唯一的編碼:

[+0]補=[-0]補=。

補碼的運算方便,二進制的減法可用補碼的加法實現,使用較廣泛。24【例1-16】假定計算機字長為8位,試寫出122的原碼、反碼和補碼。[122]原=[122]反=[122]補=01111010B【例1-17】假定計算機字長為8位,試寫出-45的原碼、反碼和補碼。

[-45]原=10101101B

[-45]反=11010010B

[-45]補=11010011B

對于用補碼表示的負數,首先認定它是負數,而后用求它的補碼的方法可得到它的真值。【例1-18】試寫出計算機中存儲的數的真值。(

)補=(

)反+1=10100111B=-39負數在計算機中是以補碼的形式保存的252.3.2補碼的運算

在微處理機中,使用補碼進行運算是十分方便的,它使同一個微處理機中既能運算帶符號數又能運算不帶符號的數

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論