![第一章匯編語(yǔ)言程序設(shè)計(jì)基礎(chǔ)_第1頁(yè)](http://file4.renrendoc.com/view/48fa25654c4eef17427d74edcb94234d/48fa25654c4eef17427d74edcb94234d1.gif)
![第一章匯編語(yǔ)言程序設(shè)計(jì)基礎(chǔ)_第2頁(yè)](http://file4.renrendoc.com/view/48fa25654c4eef17427d74edcb94234d/48fa25654c4eef17427d74edcb94234d2.gif)
![第一章匯編語(yǔ)言程序設(shè)計(jì)基礎(chǔ)_第3頁(yè)](http://file4.renrendoc.com/view/48fa25654c4eef17427d74edcb94234d/48fa25654c4eef17427d74edcb94234d3.gif)
![第一章匯編語(yǔ)言程序設(shè)計(jì)基礎(chǔ)_第4頁(yè)](http://file4.renrendoc.com/view/48fa25654c4eef17427d74edcb94234d/48fa25654c4eef17427d74edcb94234d4.gif)
![第一章匯編語(yǔ)言程序設(shè)計(jì)基礎(chǔ)_第5頁(yè)](http://file4.renrendoc.com/view/48fa25654c4eef17427d74edcb94234d/48fa25654c4eef17427d74edcb94234d5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第一章匯編語(yǔ)言程序設(shè)計(jì)
基礎(chǔ)1/15/20231河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院本章內(nèi)容提要數(shù)據(jù)表示方法微型計(jì)算機(jī)結(jié)構(gòu)匯編語(yǔ)言程序開(kāi)發(fā)環(huán)境、過(guò)程、基本方法1/15/20232河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院1.1機(jī)器語(yǔ)言與匯編語(yǔ)言 指令與程序計(jì)算機(jī)進(jìn)行的任何工作完全取決于各種程序,程序工作由一系列指令完成。指令用于之處計(jì)算機(jī)要進(jìn)行的特定操作和操作對(duì)象。一臺(tái)計(jì)算機(jī)全部指令的集合,構(gòu)成該計(jì)算機(jī)的指令系統(tǒng)。指令系統(tǒng)的性能與其指令系統(tǒng)有重要關(guān)系,不同類(lèi)型計(jì)算機(jī)的指令系統(tǒng)差異較大。1/15/20233河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院1.1機(jī)器語(yǔ)言與匯編語(yǔ)言機(jī)器語(yǔ)言機(jī)器語(yǔ)言是以計(jì)算機(jī)硬件能直接執(zhí)行和理解的指令系統(tǒng)為基礎(chǔ)而形成的語(yǔ)言,它與計(jì)算機(jī)硬件密切相關(guān),為特定的計(jì)算機(jī)而設(shè)計(jì)。相應(yīng)機(jī)器語(yǔ)言編寫(xiě)的程序稱(chēng)為機(jī)器語(yǔ)言程序。機(jī)器語(yǔ)言直接對(duì)硬件編程。計(jì)算機(jī)可以直接執(zhí)行機(jī)器語(yǔ)言程序。機(jī)器語(yǔ)言除用于編寫(xiě)計(jì)算機(jī)最底層的核心系統(tǒng)程序外,實(shí)際應(yīng)用中直接使用的場(chǎng)合越來(lái)越少。1/15/20234河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院1.1機(jī)器語(yǔ)言與匯編語(yǔ)言匯編語(yǔ)言匯編語(yǔ)言是一種符號(hào)化的機(jī)器語(yǔ)言,即用助記符代替機(jī)器語(yǔ)言的二進(jìn)制代碼。助記符一般是英語(yǔ)單詞的縮寫(xiě),方便書(shū)寫(xiě)和記憶。匯編語(yǔ)言指令與機(jī)器語(yǔ)言指令一一對(duì)應(yīng)。匯編語(yǔ)言編寫(xiě)的程序,稱(chēng)為匯編語(yǔ)言源程序。匯編語(yǔ)言源程序必須通過(guò)匯編程序,翻譯成相應(yīng)的目標(biāo)代碼才能運(yùn)行。這個(gè)過(guò)程稱(chēng)為匯編。1/15/20235河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院1.2數(shù)據(jù)表示方法3字符數(shù)據(jù)編碼2數(shù)值數(shù)據(jù)編碼1數(shù)制及其轉(zhuǎn)換4內(nèi)存中的數(shù)據(jù)1/15/20236河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院1.2.1數(shù)制及其轉(zhuǎn)換
進(jìn)位計(jì)數(shù)制:在采用進(jìn)位計(jì)數(shù)制的系統(tǒng)中,如果只用r個(gè)基本符號(hào)(0,1,2,……,r-1)表示數(shù)值,則稱(chēng)其為基r數(shù)制,r稱(chēng)為該數(shù)制的基數(shù),而數(shù)制中每一個(gè)固定位置對(duì)應(yīng)的單位值稱(chēng)為“權(quán)”。規(guī)則為“逢r進(jìn)一”。一個(gè)任意的十進(jìn)制數(shù)可以表示為:
anan-1…a0.b1b2…bm其含意是:
an×10n+an-1*10n-1+…+a0*100+b1*10-1+b2*10-2+…bm*10-m其中ai(i=0,1,…,n),bj(j=1,2,…,m)是0,1,2,3,4,5,6,7,8,9十個(gè)數(shù)碼中的一個(gè)。1/15/20237河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院1.2.1數(shù)制及其轉(zhuǎn)換 十進(jìn)制的基數(shù)為10,且遵循逢十進(jìn)一的規(guī)則。上式中對(duì)應(yīng)于每位數(shù)字的10k稱(chēng)為該位數(shù)字的權(quán),所以每位數(shù)字乘以其權(quán)所得到的乘積之和即為所表示數(shù)的值。例如:1234.56=1×103+2×102+3×101+4×100+5×10-1+6×10-21/15/20238河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院1.2.1數(shù)制及其轉(zhuǎn)換 二進(jìn)制數(shù)的特點(diǎn)為:基數(shù)為2,只有0,1兩個(gè)數(shù)碼,各個(gè)位權(quán)以2k表示,遵循逢二進(jìn)一的規(guī)則。二進(jìn)制數(shù)anan-1…a0.b1b2…bm可以表示為:
an×2n+an-1*2n-1+…+a0*20+b1*2-1+b2*2-2+…bm*2-m其中ai,bj非0即1。例如:1011.011B=1×23+0×22+1×21+1×20+0×2-1+1×2-2+1×2-3=11.275D1/15/20239河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院1.2.1數(shù)制及其轉(zhuǎn)換十進(jìn)制二進(jìn)制八進(jìn)制十六進(jìn)制基數(shù)r102816基本符號(hào)0,1,2,3,4,5,6,7,8,90,10,1,2,3,4,5,6,70,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F(xiàn)(a~f)權(quán)10k2k8k16k規(guī)則逢十進(jìn)一逢二進(jìn)一逢八進(jìn)一逢十六進(jìn)一后綴D或d或缺省B或b字母O或oH或h幾種常用進(jìn)位計(jì)數(shù)制1/15/202310河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院1.2.1數(shù)制及其轉(zhuǎn)換二進(jìn)制000001010011100101110111八進(jìn)制01234567二進(jìn)制0000000100100011010001010110011110001001十/十六進(jìn)制0123456789二進(jìn)制101010111100110111101111十六進(jìn)制ABCDEF二進(jìn)制、十進(jìn)制、八進(jìn)制、十六進(jìn)制數(shù)的對(duì)應(yīng)關(guān)系N位二進(jìn)制數(shù)可以表示2n個(gè)數(shù)。1/15/202311河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院1.2.2二進(jìn)制數(shù)和十進(jìn)制數(shù)之間的轉(zhuǎn)換二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)知識(shí)要點(diǎn)1/15/202312河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院非十進(jìn)制轉(zhuǎn)換為十進(jìn)制數(shù)anan-1…a0.b1b2…bm=an×rn+an-1*rn-1+…+a0*r0+b1*r-1+b2*r-2+…bm*r-m=對(duì)應(yīng)的十進(jìn)制數(shù)其中r為2、8或16。例如:
1011100.10111B=26+24+23+22+2-1+2-3+2-4+2-5=92.71875D37O=3×81+7×80=31D3ABH=3×162+10×161+11×160=839D1/15/202313河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院十進(jìn)制數(shù)轉(zhuǎn)換為非十進(jìn)制數(shù)首先寫(xiě)出要轉(zhuǎn)換的十進(jìn)制數(shù),其次寫(xiě)出所有小于此數(shù)的各位二進(jìn)制權(quán)值,用要轉(zhuǎn)換的十進(jìn)制數(shù)減去與它最近的二進(jìn)制權(quán)值,如夠減則減去,并在相應(yīng)位記以1;如不夠減則在相應(yīng)位記以0并跳過(guò)此位;如此不斷重復(fù),直到該數(shù)為0為止。降冪法1/15/202314河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院十進(jìn)制數(shù)轉(zhuǎn)換為非十進(jìn)制數(shù)例1:N=117D,小于N的二進(jìn)制權(quán)為:
64 32 16 8 4 2 1對(duì)應(yīng)的二進(jìn)制數(shù)是:
1 1 1 0 1 0 1計(jì)算過(guò)程如下:
117-64=53 (a6=1)
53-32=21 (a5=1)
21-16=5 (a4=1)
(a3=0)
5-4=1 (a2=1)
(a1=0)
1-1=0 (a0=1)1/15/202315河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院十進(jìn)制數(shù)轉(zhuǎn)換為非十進(jìn)制數(shù)例2 N=0.8125D,小于此數(shù)的二進(jìn)制權(quán)為:
0.5 0.25 0.125 0.0625對(duì)應(yīng)的二進(jìn)制數(shù)是:
1 1 0 1計(jì)算過(guò)程如下:
0.8125-0.5=0.3125 (b1=1)
0.3125-0.25=0.0625 (b2=1)
(b3=0)
0.0625-0.0625=0 (b4=1)
1/15/202316河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院十進(jìn)制數(shù)轉(zhuǎn)換為非十進(jìn)制數(shù)整數(shù)部分:
把要轉(zhuǎn)換的十進(jìn)制數(shù)的整數(shù)部分不斷地除以二進(jìn)制的基數(shù)2,并記下余數(shù),直到商為0為止。第一次取得的余數(shù)為轉(zhuǎn)換后整數(shù)部分的最低位。除法小數(shù)部分:
把要轉(zhuǎn)換的十進(jìn)制數(shù)的小數(shù)部分不斷地乘以二進(jìn)制的基數(shù)2,并記下乘積的整數(shù)部分,直到結(jié)果的小數(shù)部分為0,或達(dá)到所要求的精度為止。第一次取得的整數(shù)為轉(zhuǎn)換后小數(shù)部分的最高位。1/15/202317河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院十進(jìn)制數(shù)轉(zhuǎn)換為非十進(jìn)制數(shù)例3:117D=1110101B,轉(zhuǎn)換過(guò)程:
117/2=58 (a0=1) 58/2=29 (a1=0) 29/2=14 (a2=1) 14/2=7 (a3=0) 7/2=3 (a4=1) 3/2=1 (a5=1) 1/2=0 (a6=1)1/15/202318河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院十進(jìn)制數(shù)轉(zhuǎn)換為非十進(jìn)制數(shù)例4 0.8125D=0.1101B,轉(zhuǎn)換過(guò)程為:
0.8125×2=1.625 (b1=1)
0.625×2=1.25 (b2=1)
0.25×2=0.5 (b3=0)
0.5×2=1.0 (b4=1)1/15/202319河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院二、八、十六進(jìn)制數(shù)之間的轉(zhuǎn)換知識(shí)要點(diǎn)十六進(jìn)制數(shù)和二進(jìn)制數(shù)之間的轉(zhuǎn)換十六進(jìn)制數(shù)和十進(jìn)制數(shù)之間的轉(zhuǎn)換1/15/202320河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院十六進(jìn)制數(shù)的表示 字節(jié)是計(jì)算機(jī)中存儲(chǔ)信息的單位。計(jì)算機(jī)的字長(zhǎng)一般都選為字節(jié)的整數(shù)倍,如16位、32位、64位等。一個(gè)字節(jié)由8位組成,它可以用兩個(gè)四位組(又稱(chēng)半字節(jié))來(lái)表示,所以用十六進(jìn)制數(shù)來(lái)表示二進(jìn)制數(shù)是比較方便的。十六進(jìn)制的基數(shù)是16,共有16個(gè)數(shù)碼,它們是
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F。其中A表示十進(jìn)制的10,余類(lèi)推。1/15/202321河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院十六進(jìn)制數(shù)和二進(jìn)制數(shù)之間的轉(zhuǎn)換二進(jìn)制數(shù)轉(zhuǎn)為十六進(jìn)制數(shù):
每四個(gè)二進(jìn)制位對(duì)應(yīng)一個(gè)十六進(jìn)制位,因此只要把二進(jìn)制數(shù),以小數(shù)點(diǎn)為界,分別向左向右每4位為一組進(jìn)行分組,直接用十六進(jìn)制數(shù)來(lái)表示即可。十六進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù):
把十六進(jìn)制數(shù)中的每一位用4位二進(jìn)制數(shù)表示即可。1/15/202322河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院十六進(jìn)制數(shù)和二進(jìn)制數(shù)之間的轉(zhuǎn)換例5
0011 0101 1011 1111對(duì)應(yīng)的十六進(jìn)制數(shù)是:
3 5 B F 即0011010110111111B=35BFH例6
A 1 9 C對(duì)應(yīng)的二進(jìn)制數(shù)是:
1010 0001 1001 1100即A19CH=1010000110011100B 1/15/202323河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院十六進(jìn)制數(shù)和十進(jìn)制數(shù)之間的轉(zhuǎn)換anan-1…a0.b1b2…bm=an×rn+an-1*rn-1+…+a0*r0+b1*r-1+b2*r-2+…bm*r-m=對(duì)應(yīng)的十進(jìn)制數(shù)其中r為2、8或16。例7:
BF3CH=11×163+15×162+3×161+12×160=48956D十六進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)1/15/202324河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院十六進(jìn)制數(shù)和十進(jìn)制數(shù)之間的轉(zhuǎn)換首先寫(xiě)出要轉(zhuǎn)換的十進(jìn)制數(shù),其次寫(xiě)出所有小于此數(shù)的各位十六進(jìn)制權(quán)值,然后找出該數(shù)中包含多少個(gè)最接近它的權(quán)值的倍數(shù),這一倍數(shù)即為對(duì)位的值,用原數(shù)減去此倍數(shù)與相應(yīng)位權(quán)值的乘積得到一個(gè)差值,再用此差值去找低一位的權(quán)值的倍數(shù),如此反復(fù)直到差值為0為止。降冪法十進(jìn)制數(shù)轉(zhuǎn)換為十六進(jìn)制數(shù)1/15/202325河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院十六進(jìn)制數(shù)和十進(jìn)制數(shù)之間的轉(zhuǎn)換例8:N=48956D,小于N的二進(jìn)制權(quán)為:
4096 256 16 1對(duì)應(yīng)的十六進(jìn)制數(shù)是:
B F 3 C 計(jì)算過(guò)程如下:
48956-11×4096=3900 (a3=11)
3900-15×256=60 (a2=15) 60-3×16=12 (a1=3) 12-12×1=0 (a0=12)
1/15/202326河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院十六進(jìn)制數(shù)和十進(jìn)制數(shù)之間的轉(zhuǎn)換整數(shù)部分:
把要轉(zhuǎn)換的十進(jìn)制數(shù)的整數(shù)部分不斷地除以十六進(jìn)制的基數(shù)16,并記下余數(shù),直到商為0為止。第一次取得的余數(shù)為轉(zhuǎn)換后整數(shù)部分的最低位。除法小數(shù)部分:
把要轉(zhuǎn)換的十進(jìn)制數(shù)的小數(shù)部分不斷地乘以十六進(jìn)制的基數(shù)16,并記下乘積的整數(shù)部分,直到結(jié)果的小數(shù)部分為0,或達(dá)到所要求的精度為止。第一次取得的整數(shù)為轉(zhuǎn)換后小數(shù)部分的最高位。1/15/202327河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院十六進(jìn)制數(shù)和十進(jìn)制數(shù)之間的轉(zhuǎn)換例9:48956D=BF3CH,轉(zhuǎn)換過(guò)程:
48956/16=3059 (a0=12) 3059/16=191 (a1=3) 191/16=11 (a2=15) 11/16=0 (a3=11)
1/15/202328河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院1.2.2數(shù)值數(shù)據(jù)編碼2反碼1原碼3補(bǔ)碼4無(wú)符號(hào)數(shù)5BCD碼1/15/202329河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院1.2.2數(shù)值數(shù)據(jù)編碼計(jì)算機(jī)中的數(shù)是用二進(jìn)制來(lái)表示的,數(shù)的符號(hào)也是用二進(jìn)制表示的。數(shù)在計(jì)算機(jī)中的二進(jìn)制表示形式稱(chēng)為“機(jī)器數(shù)”。數(shù)的原值稱(chēng)為“真值”,是計(jì)算機(jī)中表示的數(shù)的實(shí)際數(shù)值。機(jī)器數(shù),一般用最高有效位來(lái)表示數(shù)的符號(hào),正數(shù)用0表示,負(fù)數(shù)用1表示。見(jiàn)P4-P5,例1-8。常用的有原碼、反碼和補(bǔ)碼表示法。
1/15/202330河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院原碼原碼與真值的區(qū)別僅僅是數(shù)的符號(hào)數(shù)字化。原碼表示中,最高位為符號(hào)位,其他位表示數(shù)的絕對(duì)值。見(jiàn)p5,例1-9。n為原碼表示的數(shù)的范圍為[-2n-1+1,2n-1-1]。8位原碼表示的數(shù)的范圍為[-127,127]。16為原碼表示的數(shù)的范圍為[-32767,32767]。1/15/202331河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院反碼正數(shù)的反碼:與原碼相同;負(fù)數(shù)的反碼:等于其原碼(符號(hào)位除外)按位取反。見(jiàn)p5,例1-10。反碼表示數(shù)的范圍與原碼相同。1/15/202332河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院補(bǔ)碼正數(shù)的補(bǔ)碼:與原碼相同;負(fù)數(shù)的補(bǔ)碼:等于其原碼(符號(hào)位除外)按位取反,末位加1。(或者說(shuō):等于其反碼末位加1。)見(jiàn)p5,例1-11。補(bǔ)碼表示能讓符號(hào)位一同參與數(shù)的運(yùn)算,能將減法轉(zhuǎn)換為加法進(jìn)行運(yùn)算。將一個(gè)負(fù)數(shù)的補(bǔ)碼轉(zhuǎn)換成真值時(shí),也需要一個(gè)“取反加1”的過(guò)程。1/15/202333河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院補(bǔ)碼求補(bǔ)運(yùn)算:對(duì)一個(gè)二進(jìn)制數(shù)按位取反后在末位加1的運(yùn)算。補(bǔ)碼表示的數(shù)具有以下特性:
求補(bǔ)求補(bǔ)[X]補(bǔ)
[-X]補(bǔ)
[X]補(bǔ)1/15/202334河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院補(bǔ)碼例:
[117]補(bǔ)=0075H [-117]補(bǔ)=FF8BH現(xiàn)對(duì)[-117]補(bǔ)作求補(bǔ)運(yùn)算:
[-117]補(bǔ)為 1111111110001011
按位求反后得 0000000001110100
末位加1后得 0000000001110101此數(shù)正是[117]補(bǔ)=0075H 1/15/202335河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院補(bǔ)碼[X+Y]補(bǔ)=[X]補(bǔ)+[Y]補(bǔ)補(bǔ)碼的加法規(guī)則補(bǔ)碼的減法規(guī)則[X-Y]補(bǔ)=[X]補(bǔ)+[-Y]補(bǔ)1/15/202336河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院補(bǔ)碼加法: 十進(jìn)制二進(jìn)制例1.15~1.18
25 00011001+ 32 +00100000 57 00111001 32 00100000+(-25) + 111001117 0000011125 00011001+(-32) +11100000-7 11111001-25 11100111+(-32) +11100000-57 11000111111/15/202337河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院補(bǔ)碼減法: 十進(jìn)制二進(jìn)制例1.19~1.22
25 00011001- 32 +11100000 -7 11111001 32 00100000-(-25) + 0001100157 00111001-25 11100111-32 +11100000-57 11000111-25 11100111-(-32) +001000007 00000111111/15/202338河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院補(bǔ)碼用補(bǔ)碼表示數(shù)時(shí)的符號(hào)擴(kuò)展問(wèn)題:
所謂符號(hào)擴(kuò)展是指一個(gè)數(shù)從位數(shù)較少擴(kuò)展到位數(shù)較多(如從8位擴(kuò)展到16位,或從16位擴(kuò)展到32位)時(shí)應(yīng)該注意的問(wèn)題。對(duì)于補(bǔ)碼表示的數(shù),正數(shù)的符號(hào)擴(kuò)展應(yīng)該在前面補(bǔ)0,而負(fù)數(shù)的符號(hào)擴(kuò)展則應(yīng)該在前面補(bǔ)1。N位補(bǔ)碼表示數(shù)的范圍問(wèn)題:(見(jiàn)p6,表1-2)即當(dāng)N=8時(shí),所表示的數(shù)值范圍為+127~-128;當(dāng)N=16時(shí),所表示的數(shù)值范圍為+32767~-32768。則N為補(bǔ)碼表示的數(shù)的范圍為-2N-1~+2N-1-1。
1/15/202339河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院補(bǔ)碼在機(jī)器里,為了擴(kuò)大表示數(shù)的范圍,可以用二個(gè)機(jī)器字(高位字和低位字)來(lái)表示一個(gè)機(jī)器數(shù),這樣的數(shù)稱(chēng)為雙字長(zhǎng)或雙精度數(shù)。圖1.1雙字長(zhǎng)數(shù)的表示雙字長(zhǎng)數(shù)的表數(shù)范圍可擴(kuò)大到:+231-1~-231;231約等于2.15×109。150150高位字低位字補(bǔ)碼值符號(hào)1/15/202340河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院無(wú)符號(hào)數(shù)可以把最高有效位也作為數(shù)值處理的數(shù)據(jù),稱(chēng)為無(wú)符號(hào)整數(shù)。N位無(wú)符號(hào)數(shù)的表數(shù)范圍為0~2N-1。則N=8時(shí)的表數(shù)范圍為0~255;N=16時(shí)的表數(shù)范圍為0~65535;N=32時(shí)的表數(shù)范圍為0~232-1。在計(jì)算機(jī)中最常用的無(wú)符號(hào)整數(shù)是表示地址的數(shù)。
1/15/202341河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院BCD碼使用4位二進(jìn)制數(shù)表示1位十進(jìn)制數(shù),常稱(chēng)為二進(jìn)制編碼的十進(jìn)制數(shù)。最常用的是8421碼(見(jiàn)p6,表1-3)。8421是指用于編碼的4位二進(jìn)制各位的權(quán)值“8421”。見(jiàn)p6,例1-13。BCD碼有壓縮BCD碼和非壓縮BCD碼。前者用1個(gè)字節(jié)存放2個(gè)十進(jìn)制數(shù),每個(gè)十進(jìn)制數(shù)字占4位。后者用1個(gè)字節(jié)存放1個(gè)十進(jìn)制數(shù)字,十進(jìn)制數(shù)字占低4位,高4位一般為0。
(見(jiàn)p7,例1-14)
1/15/202342河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院1.2.3字符數(shù)據(jù)編碼字母和各種字符也必須按特定的規(guī)則用二進(jìn)制編碼才能在計(jì)算機(jī)中表示。字符包括:字母:A、B、…Z,a、b、…z;數(shù)字:0、1、…、9;專(zhuān)用字符:+、-、*、/、、SP(space空格)、…;非打印字符:BEL(bell響鈴)、LF(linefeed換行)、CR(carriagereturn回車(chē))、……1/15/202343河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院1.2.3字符數(shù)據(jù)編碼80X86機(jī)最常用的一種編碼是美國(guó)信息交換標(biāo)準(zhǔn)代碼ASCII(AmericanStandardCodeforInformationInterchange)。見(jiàn)p7,表1-4。標(biāo)準(zhǔn)ASCII碼用七位二進(jìn)制編碼,故有128個(gè),如教材所示。微型機(jī)存儲(chǔ)單位為8位,表達(dá)ASCII碼時(shí)最高D7位通常為0;通信時(shí)D7為通常用作奇偶校驗(yàn)位。在PC機(jī)中,有時(shí)還采用擴(kuò)展ASCII碼,主要表達(dá)各種制表用的符號(hào)等。擴(kuò)展ASCII碼最高位D7位為1,以與標(biāo)準(zhǔn)ASCII碼區(qū)別。1/15/202344河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院1.2.4內(nèi)存中的數(shù)據(jù)數(shù)據(jù)在計(jì)算機(jī)內(nèi)部采用二進(jìn)制存儲(chǔ),具體采用何種方式,依賴于程序的執(zhí)行情況,可用二進(jìn)制、BCD碼與字符方式。數(shù)據(jù)的存儲(chǔ)是以數(shù)據(jù)長(zhǎng)度為單位,按字節(jié)順序存放,數(shù)據(jù)的低位放低字節(jié)地址,數(shù)據(jù)的高位放高字節(jié)地址。簡(jiǎn)單說(shuō),“低對(duì)低,高對(duì)高”。如不特別說(shuō)明,匯編語(yǔ)言程序設(shè)計(jì)中提到的數(shù)都是整數(shù),常用字節(jié)(8位)、字(16位)、雙字(32位)表示。如實(shí)際數(shù)據(jù)的位數(shù)少,可進(jìn)行擴(kuò)展,一般是對(duì)最高有效位(可能是符號(hào)位)進(jìn)行擴(kuò)展,因此分為零擴(kuò)展和符號(hào)擴(kuò)展。1/15/202345河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院1.3微型計(jì)算機(jī)結(jié)構(gòu)微型計(jì)算機(jī)主要部件的特性布局及連接,是程序設(shè)計(jì)者必須了解的硬件資源及其資源部件。典型的微型計(jì)算機(jī)結(jié)構(gòu)包括微處理器、存儲(chǔ)器、輸入/輸出三個(gè)主要部分,通過(guò)系統(tǒng)總線連接。1/15/202346河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院1.3.18086微處理器8086微處理器:16位微處理器,采用16位數(shù)據(jù)總線,尋址空間為1M字節(jié),由指令執(zhí)行部件(EU)和總線接口部件(BIU)兩部分組成,如圖p8,1-1所示。
總線接口單元BIU(BusInterfaceUnit):執(zhí)行所有的總線操作,實(shí)現(xiàn)CPU與存儲(chǔ)器及外設(shè)之間的數(shù)據(jù)交換,主要由指令指針寄存器、指令隊(duì)列、段寄存器、地址加法器等組成。執(zhí)行單元EU(ExecutionUnit):控制和執(zhí)行指令,主要由算術(shù)邏輯運(yùn)算部件ALU、EU控制部件、通用寄存器與標(biāo)志寄存器組成。1/15/202347河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院內(nèi)部暫存器
IPESSSDSCS輸入/輸出控制電路外部總線執(zhí)行部分控制電路123456∑ALU標(biāo)志寄存器AHALBHBLCHCLDHDLSPBPSIDI通用寄存器地址加法器指令隊(duì)列緩沖器執(zhí)行部件(EU)總線接口部件(BIU)16位20位16位8位1/15/202348河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院1.3.2寄存器結(jié)構(gòu)數(shù)據(jù)寄存器知識(shí)要點(diǎn)指針及變址寄存器段寄存器控制寄存器1/15/202349河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院2.3.280X86寄存器組AHALBHBLCHCLDHDLSPBPDISIIPFLAGSCSDSESSSFSGSAXBXCXDXEAXEBXECXEDXESPEBPEDIESIEIPEFLAGS32位名稱(chēng)16位名稱(chēng)32位16位名稱(chēng)累加器基址變址計(jì)數(shù)數(shù)據(jù)堆棧指針基址指針目的變址源變址指令指針標(biāo)志代碼數(shù)據(jù)附加堆棧對(duì)于8086、8088或80286,陰影區(qū)域是不可用的。FS和GS寄存器無(wú)專(zhuān)用名稱(chēng)。圖2.380X86的程序可見(jiàn)寄存器組1/15/202350河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院1.數(shù)據(jù)寄存器8086/8088、80286所具有的寄存器AX(accumulator)稱(chēng)為累加器,用于算數(shù)、邏輯運(yùn)算以及與外設(shè)傳送信息(IN/OUT指令中)等。BX(base)稱(chēng)為基址寄存器,常用做存放存儲(chǔ)器地址。CX(count)稱(chēng)為計(jì)數(shù)器,常用來(lái)保存計(jì)數(shù)值,作為循環(huán)和串操作等指令中的隱含計(jì)數(shù)器。DX(data)稱(chēng)為數(shù)據(jù)寄存器,常用來(lái)存放雙字長(zhǎng)數(shù)據(jù)的高16位,或存放外設(shè)端口地址。1/15/202351河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院2.指針及變址寄存器8086/8088、80286所具有的寄存器指針及變址寄存器包括SI(sourceindex)、DI(destinationindex)、BP(basepointer)、SP(stackpointer)四個(gè)16位寄存器,常用于存儲(chǔ)器尋址時(shí)提供地址。1/15/202352河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院2.指針及變址寄存器8086/8088、80286所具有的寄存器SI是源變址寄存器,DI是目的變址寄存器;一般與DS聯(lián)用,用來(lái)確定數(shù)據(jù)段中某一存儲(chǔ)單元的地址;在串指令中,SI與DS聯(lián)用、DI與ES聯(lián)用,分別尋址數(shù)據(jù)段和附加段;在串指令中,SI與DI還具有自動(dòng)增量或減量的功能。1/15/202353河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院2.指針及變址寄存器8086/8088、80286所具有的寄存器SP為堆棧指針寄存器,BP為基址指針寄存器;二者均可以與SS聯(lián)用來(lái)確定堆棧段中的某一存儲(chǔ)單元的地址;SP用來(lái)指示棧頂?shù)钠频刂罚珺P表示堆棧段中的基地址。堆棧(stack)是主存中一個(gè)特殊的區(qū)域,采用先進(jìn)后出FILO(firstinlastout)或后進(jìn)先出LIFO(lastinfirstout)的操作方式。1/15/202354河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院3.段寄存器段寄存器也是一種專(zhuān)用寄存器;專(zhuān)用于存儲(chǔ)器尋址,用來(lái)直接或間接地存放段地址。80286以前的CPU包括:CS、DS、SS、ES;從80386起增加了兩個(gè)附加的數(shù)據(jù)段寄存器FS、GS。段寄存器是16位的1/15/202355河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院代碼段(CodeSegment)代碼段用來(lái)存放程序的指令序列。一個(gè)程序必須有一個(gè)代碼段。代碼段寄存器CS存放代碼段的段地址;指令指針寄存器IP指示下條指令的偏移地址。處理器利用CS:IP取得下一條要執(zhí)行的指令。1/15/202356河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院數(shù)據(jù)段(DataSegment)數(shù)據(jù)段存放運(yùn)行程序所用的數(shù)據(jù)。一般程序都有一個(gè)或多個(gè)數(shù)據(jù)段。數(shù)據(jù)段寄存器DS存放數(shù)據(jù)段的段地址;各種主存尋址方式(有效地址EA)得到存儲(chǔ)器中操作數(shù)的偏移地址。處理器利用DS:EA存取數(shù)據(jù)段中的數(shù)據(jù)。1/15/202357河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院堆棧段(StackSegment)堆棧段確定堆棧所在的主存區(qū)域。一般程序都需要設(shè)置堆棧段。堆棧段寄存器SS存放堆棧段的段地址;堆棧指針寄存器SP指示堆棧棧頂?shù)钠频刂贰L幚砥骼肧S:SP操作堆棧頂?shù)臄?shù)據(jù)。1/15/202358河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院附加段(ExtraSegment)附加段是附加的數(shù)據(jù)段,也用于數(shù)據(jù)的保存。當(dāng)程序用到一個(gè)以上的數(shù)據(jù)段時(shí),附加段是必不可少的。附加段寄存器ES存放附加段的段地址;各種主存尋址方式(有效地址EA)得到存儲(chǔ)器中操作數(shù)的偏移地址。處理器利用ES:EA存取附加段中的數(shù)據(jù)。串操作指令將附加段作為其目的操作數(shù)的存放區(qū)域。1/15/202359河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院4.控制寄存器包括IP、FLAGS兩個(gè)16位寄存器。IP(instructionpointer)指令指針寄存器它用來(lái)指示代碼段中指令的偏移地址,它與代碼段寄存器CS聯(lián)用,以確定下一條指令的物理地址;處理器利用CS:IP取得下一條要執(zhí)行的指令,然后修改IP內(nèi)容,使之指向下一條指令的存儲(chǔ)器地址;計(jì)算機(jī)就是通過(guò)CS:IP寄存器來(lái)控制指令序列的執(zhí)行流程的。8086/8088、80286所具有的寄存器1/15/202360河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院4.控制寄存器FLAGS標(biāo)志寄存器:(見(jiàn)p10,圖1-2)又稱(chēng)程序狀態(tài)寄存器(programstatusword,PSW);用來(lái)存放條件碼標(biāo)志、控制標(biāo)志和系統(tǒng)標(biāo)志。8086/8088、80286所具有的寄存器1/15/202361河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院80X86的標(biāo)志寄存器OFDFIFTFSFZFAFPFCF8086/8088802861514131211109876543210NTIOPLOFDFIFTFSFZFAFPFCF…VMRF同80286……ACVMRF同80286……IDVIPVIFACVMRF同80286…31……….2221201918171615…08038680486Pentium1/15/202362河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院80X86的標(biāo)志寄存器用來(lái)記錄程序中運(yùn)行結(jié)果的狀態(tài)信息,它們是根據(jù)有關(guān)指令的運(yùn)行結(jié)果由CPU自動(dòng)設(shè)置的。
這些狀態(tài)信息往往作為后續(xù)條件轉(zhuǎn)移指令的轉(zhuǎn)移控制條件,所以稱(chēng)為條件碼。它包括OF、SF、ZF、AF、PF和CF。條件碼標(biāo)志(狀態(tài)標(biāo)志)1/15/202363河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院溢出標(biāo)志OF(OverFlowFlag)在運(yùn)算過(guò)程中,如操作數(shù)超出了機(jī)器能表示的范圍就是發(fā)生了溢出,則OF=1;否則OF=0。
例:
3AH+7CH=B6H,產(chǎn)生溢出:OF=1
AAH+7CH=(1)26H,沒(méi)有溢出:OF=01/15/202364河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院符號(hào)標(biāo)志SF(SignFlag)運(yùn)算結(jié)果的最高有效位就是符號(hào)標(biāo)志的狀態(tài)。運(yùn)算結(jié)果最高位為1,則SF=1;否則SF=0。
例:
3AH+7CH=B6H,最高位D7=1:SF=1 84H+7CH=(1)00H,最高位D7=0:SF=01/15/202365河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院零標(biāo)志ZF(ZeroFlag)運(yùn)算結(jié)果為0時(shí),ZF=1,否則ZF=0。
例:
3AH+7CH=B6H,結(jié)果不是零:ZF=0 84H+7CH=(1)00H,結(jié)果是零:ZF=11/15/202366河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院進(jìn)位標(biāo)志CF(CarryFlag)當(dāng)運(yùn)算結(jié)果的最高有效位有進(jìn)位(加法)或借位(減法)時(shí),CF=1;否則CF=0。
例:
3AH+7CH=B6H,沒(méi)有進(jìn)位:CF=0 AAH+7CH=(1)26H,有進(jìn)位:CF=1進(jìn)位與溢出有什么區(qū)別?如何判斷溢出?如何運(yùn)用進(jìn)位與溢出?1/15/202367河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院輔助進(jìn)位標(biāo)志AF(AuxiliaryCarryFlag)運(yùn)算時(shí)D3位(低半字節(jié))有進(jìn)位或借位時(shí),AF=1;否則AF=0。
例:
3AH+7CH=B6H,D3有進(jìn)位:AF=1該標(biāo)志主要是由處理器內(nèi)部使用,用于十進(jìn)制算數(shù)運(yùn)算指令中,用戶一般不必關(guān)心。1/15/202368河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院奇偶標(biāo)志PF(ParityFlag)當(dāng)運(yùn)算結(jié)果的最低字節(jié)中“1”的個(gè)數(shù)為0或偶數(shù)時(shí),PF=1;否則PF=0。
例:
3AH+7CH=B6H=10110110B
結(jié)果中有5個(gè)1,是奇數(shù):PF=0注意:PF標(biāo)志僅反映最低8位中“1”的個(gè)數(shù)是偶或奇,即使是進(jìn)行16位或32位數(shù)據(jù)操作時(shí)。1/15/202369河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院進(jìn)位與溢出的區(qū)別
CF表示的是無(wú)符號(hào)數(shù)運(yùn)算結(jié)果是否超出范圍;即對(duì)于N位二進(jìn)制無(wú)符號(hào)數(shù)來(lái)說(shuō),如果運(yùn)算結(jié)果超出了0~2N-1這個(gè)范圍,則認(rèn)為產(chǎn)生了進(jìn)位。但運(yùn)算結(jié)果仍然正確。
OF表示的是有符號(hào)數(shù)運(yùn)算結(jié)果是否超出了范圍;即對(duì)于N位二進(jìn)制有符號(hào)數(shù)來(lái)說(shuō),如果運(yùn)算結(jié)果超出了-2N-1~2N-1-1這個(gè)范圍,則認(rèn)為產(chǎn)生了溢出。運(yùn)算結(jié)果已經(jīng)不正確。注:處理器內(nèi)部以補(bǔ)碼形式表示有符號(hào)數(shù):N=8時(shí),表示的無(wú)符號(hào)數(shù)的范圍是:0~255; 表示的有符號(hào)數(shù)的范圍是:-128~+127;N=16時(shí),表示的無(wú)符號(hào)數(shù)的范圍是:0~65535; 表示的有符號(hào)數(shù)的范圍是:-32768~+32767。1/15/202370河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院判斷溢出的方法如果兩個(gè)符號(hào)相同的數(shù)相加,而運(yùn)算結(jié)果的符號(hào)與它們的符號(hào)相反,則產(chǎn)生溢出。如果兩個(gè)符號(hào)相反的數(shù)相減,而運(yùn)算結(jié)果的符號(hào)與被減數(shù)的符號(hào)相反,則產(chǎn)生溢出。其他情況下,不會(huì)產(chǎn)生溢出。(舉例)1/15/202371河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院如何運(yùn)用進(jìn)位與溢出處理器對(duì)兩個(gè)操作數(shù)進(jìn)行運(yùn)算時(shí),按照無(wú)符號(hào)數(shù)求得結(jié)果,并相應(yīng)設(shè)置進(jìn)位標(biāo)志CF;同時(shí),根據(jù)是否超出有符號(hào)數(shù)的范圍設(shè)置溢出標(biāo)志OF。應(yīng)該利用哪個(gè)標(biāo)志,則由程序員來(lái)決定。也就是說(shuō),如果將參加運(yùn)算的操作數(shù)認(rèn)為是無(wú)符號(hào)數(shù),就應(yīng)該關(guān)心進(jìn)位;認(rèn)為是有符號(hào)數(shù),則要注意是否溢出。1/15/202372河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院進(jìn)位與溢出的對(duì)比例1:3AH+7CH=B6H
無(wú)符號(hào)數(shù)運(yùn)算:58+124=182
范圍內(nèi),無(wú)進(jìn)位,則CF=0
有符號(hào)數(shù)運(yùn)算:58+124=182
范圍外,有溢出,則OF=1例2:AAH+7CH=(1)26H
無(wú)符號(hào)數(shù)運(yùn)算:170+124=294
范圍外,有進(jìn)位,則CF=1
有符號(hào)數(shù)運(yùn)算:-86+124=28
范圍內(nèi),無(wú)溢出,則OF=01/15/202373河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院進(jìn)位與溢出的對(duì)比例3:0DH+79H=86H
無(wú)符號(hào)數(shù):00001101B+01111001B=10000110B
無(wú)進(jìn)位,CF=0
有符號(hào)數(shù):兩個(gè)正數(shù)相加,結(jié)果為負(fù)數(shù),溢出,OF=1例4:86H+F5H=7BH
無(wú)符號(hào)數(shù):10000110B+11110101B=(1)01111011B
有進(jìn)位,CF=1
有符號(hào)數(shù):兩個(gè)負(fù)數(shù)相加,結(jié)果為正數(shù),溢出,OF=11/15/202374河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院進(jìn)位與溢出的對(duì)比例5:06H-09H=FDH無(wú)符號(hào)數(shù):00000110B-00001001B=(借位1)11111101B
有借位,CF=1有符號(hào)數(shù):兩個(gè)符號(hào)相同的數(shù)相減,不會(huì)產(chǎn)生溢出,OF=0例6:80H-01H=7FH無(wú)符號(hào)數(shù):10000000B-00000001B=01111111B
無(wú)借位,CF=0有符號(hào)數(shù):兩個(gè)符號(hào)不同的數(shù)相減,結(jié)果的符號(hào)與被減數(shù)相反,溢出,OF=01/15/202375河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院80X86的標(biāo)志寄存器該標(biāo)志用于串操作指令中,控制地址的變化方向。當(dāng)DF=1時(shí),每次串操作后使變址寄存器SI和DI的值自動(dòng)減少,即串操作從高地址向低地址方向進(jìn)行。當(dāng)DF=0時(shí),每次串操作后使變址寄存器SI和DI的值自動(dòng)增加,即串操作從低地址向高地址方向進(jìn)行??刂茦?biāo)志——方向標(biāo)志DF(DirectionFLag)方向標(biāo)志可以用CLD指令復(fù)位(DF=0),STD指令置位(DF=1)。1/15/202376河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院80X86的標(biāo)志寄存器可以用于I/0、可屏蔽中斷、程序調(diào)試、任務(wù)切換和系統(tǒng)工作方式等的控制。下面簡(jiǎn)單介紹某些位的情況。系統(tǒng)標(biāo)志位陷阱標(biāo)志TF中斷標(biāo)志IFI/O特權(quán)級(jí)IOPL1/15/202377河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院陷阱標(biāo)志TF(TrapFlag)也常稱(chēng)為單步標(biāo)志。用于控制處理器是否進(jìn)入單步操作方式。當(dāng)TF=1時(shí),處理器單步執(zhí)行指令,每條指令執(zhí)行完后產(chǎn)生編號(hào)為1的中斷,由系統(tǒng)控制計(jì)算機(jī);當(dāng)TF=0時(shí),處理器正常工作。1/15/202378河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院中斷標(biāo)志IF(InterruptFlag)該標(biāo)志用于控制外部可屏蔽中斷是否可以被處理器響應(yīng)。當(dāng)IF=1時(shí),允許CPU響應(yīng)可屏蔽中斷請(qǐng)求;當(dāng)IF=0時(shí),則禁止中斷。在調(diào)試程序DEBUG中提供了測(cè)試標(biāo)志位的手段,它用符號(hào)表示某些標(biāo)志位的值。1/15/202379河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院標(biāo)志位的符號(hào)表示標(biāo)志名標(biāo)志為1標(biāo)志為0溢出OFOVNV方向DFDNUP中斷IFEIDI符號(hào)SFNGPL零位ZFZRNZ輔助AFACNA奇偶PFPEPO進(jìn)位CFCYNC1/15/202380河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院1.3.3內(nèi)存組織計(jì)算機(jī)中存儲(chǔ)信息的單位(數(shù)據(jù)類(lèi)型圖)
二進(jìn)制位(bit):是計(jì)算機(jī)存儲(chǔ)信息的基本單位,一個(gè)位可存儲(chǔ)一位二進(jìn)制數(shù):0或1。字節(jié)(byte):8個(gè)二進(jìn)制位組成一個(gè)字節(jié)。字(word):由兩個(gè)字節(jié)組成,即16位數(shù)據(jù)。雙字(doubleword):由兩個(gè)字組成,即4字節(jié)數(shù)據(jù),共32位。4字:由8個(gè)字節(jié)組成,64位數(shù)據(jù)。1/15/202381河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院數(shù)據(jù)類(lèi)型高位雙字低位雙字N+7N+6N+5N+4N+3N+2N+1N
地址6332310高位字低位字N+3N+2N+1N
地址3116150高字節(jié)低字節(jié)N+1N
地址15870字雙字4字
N
地址
70字節(jié)最低位稱(chēng)為最低有效位LSB(LeastSignificantBit),即D0位;最高位稱(chēng)為最高有效位MSB(MostSignificantBit),對(duì)字節(jié)、字、雙字、4字分別指D7、D15、D31、D63。1/15/202382河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院1.3.3內(nèi)存組織機(jī)器字長(zhǎng)8086/8088,80286的字長(zhǎng)為16位;80386到PentiumII的字長(zhǎng)為32位。1/15/202383河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院1.內(nèi)存地址存儲(chǔ)單元的地址存儲(chǔ)器里以字節(jié)為單位存儲(chǔ)信息。每一個(gè)字節(jié)單元被賦予一個(gè)惟一的存儲(chǔ)器地址,稱(chēng)為物理地址。地址從0開(kāi)始編號(hào),順序地每次加1;機(jī)器里,地址是一個(gè)無(wú)符號(hào)二進(jìn)制整數(shù),書(shū)寫(xiě)時(shí)常用十六進(jìn)制數(shù)表示。1/15/202384河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院1.內(nèi)存組織存儲(chǔ)單元的內(nèi)容一個(gè)存儲(chǔ)單元中存放的信息稱(chēng)為該單元的內(nèi)容。每個(gè)存儲(chǔ)單元中存放一個(gè)字節(jié)的內(nèi)容。(如圖所示)在存儲(chǔ)器中如何存放一個(gè)字或雙字?1/15/202385河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院多字節(jié)數(shù)據(jù)的存放多字節(jié)數(shù)據(jù)在存儲(chǔ)器中占連續(xù)的多個(gè)存儲(chǔ)單元:存放時(shí),低字節(jié)存入低地址,高字節(jié)存入高地址;多字節(jié)數(shù)據(jù)的地址用其低地址表示。這種“低對(duì)低,高對(duì)高”的存儲(chǔ)形式,被稱(chēng)為“小端方式”。如圖所示1/15/202386河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院存儲(chǔ)單元的內(nèi)容40H30H56H12H34H5614H5613H5612H0004H0003H0002H0001H0000H如果用X表示某存儲(chǔ)單元的地址,則X單元的內(nèi)容可以表示為(X);假如X單元中存放著Y,而Y又是一個(gè)地址,則可用(Y)=((X))來(lái)表示Y單元的內(nèi)容。如左圖中
(0003H)=5612H而
(5612H)=4030H則
((0003H))=4030H存儲(chǔ)單元的內(nèi)容可以重復(fù)取出,直到有新的內(nèi)容寫(xiě)入。1/15/202387河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院存儲(chǔ)單元的地址和內(nèi)容如圖所示,在0002H地址的存儲(chǔ)器單元中存放的信息是34H,即2單元的內(nèi)容為34H,表示為:
[0002H]=34H
或
(0002H)=34HCDHABH78H56H12H34H0008H0007H0006H0005H0004H0003H0002H0001H0000H2號(hào)“字”單元的內(nèi)容為:[0002H]=1234H
或
(0002H)=1234H2號(hào)“雙字”單元的內(nèi)容為:[0002H]=78561234H
或
(0002H)=78561234H同一個(gè)地址既可以看作字節(jié)單元的地址,又可以看作字單元、雙字單元或4字單元的地址,這要根據(jù)使用情況確定。1/15/202388河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院2.段式存儲(chǔ)管理8086/8088的地址總線寬度為20位:8086CPU將1MB存儲(chǔ)器空間分成許多邏輯段:最大尋址空間為220=1MB;物理尋址范圍:00000H~FFFFFH;而它們的機(jī)器字長(zhǎng)為16位。每個(gè)段最大限制為64KB;邏輯地址=段基地址:段內(nèi)偏移地址;1/15/202389河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院段基地址說(shuō)明邏輯段在主存中的起始地址,簡(jiǎn)稱(chēng)段地址。段不能起始于任意地址,而必須從任一小段的首地址開(kāi)始。段地址的低4位為0000B,這樣規(guī)定段地址只取段起始地址的高16位值。1/15/202390河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院小段
16位二進(jìn)制數(shù)可以表示216=64K個(gè)字節(jié)單元的地址,即它可以表示的地址范圍應(yīng)該是0~65535,其地址編號(hào)的范圍用十六進(jìn)制數(shù)表示為0000H~FFFFH。機(jī)器規(guī)定:從0地址開(kāi)始,每16個(gè)字節(jié)為一小段。這里每一行就是一個(gè)小段。其中第一列就是每個(gè)小段的首地址,在十六進(jìn)制表示的地址中,最低位為0。在1MB的地址空間中,共有64K(1MB/16B=220/24)個(gè)小段首地址。1/15/202391河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院小段00000,00001,00002,…,00009,0000A,0000B,…,0000E,0000F,00010,00011,00012,…,00019,0001A,0001B,…,0001E,0001F,00020,00021,00022,…,00029,0002A,0002B,…,0002E,0002F,
…… ……FFFE0,F(xiàn)FFE1,F(xiàn)FFE2,…,F(xiàn)FFE9,F(xiàn)FFEA,F(xiàn)FFEB,…,F(xiàn)FFEE,F(xiàn)FFEF,F(xiàn)FFF0,F(xiàn)FFF1,F(xiàn)FFF2,…,F(xiàn)FFF9,F(xiàn)FFFA,F(xiàn)FFFB,…,F(xiàn)FFFE,F(xiàn)FFFF。 1/15/202392河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院段內(nèi)偏移地址說(shuō)明主存單元距離段起始位置的偏移量,簡(jiǎn)稱(chēng)偏移地址。因?yàn)槊總€(gè)邏輯段不超過(guò)64KB,所以偏移地址可以用16位數(shù)據(jù)表示。1/15/202393河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院3.邏輯地址與物理地址在1MB的存儲(chǔ)器里,每個(gè)存儲(chǔ)單元都有一個(gè)唯一的20位地址,稱(chēng)為該存儲(chǔ)單元的物理地址。
CPU訪問(wèn)存儲(chǔ)器時(shí),必須先確定所要訪問(wèn)的存儲(chǔ)單元的物理地址,才能訪問(wèn)該單元。物理地址和邏輯地址的轉(zhuǎn)換1/15/202394河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院物理地址和邏輯地址的轉(zhuǎn)換物理地址=邏輯地址中的段地址左移4位+偏移地址或物理地址=16×段地址+偏移地址例:邏輯地址:1460:0100 和 1380:0F0014600H+100H14700H13800H+F00H14700H物理地址:一個(gè)物理地址可以對(duì)應(yīng)多個(gè)邏輯地址。1/15/202395河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院段寄存器與邏輯段8086、80286有4個(gè)16位段寄存器每個(gè)段寄存器用來(lái)確定一個(gè)邏輯段的起始地址,每種邏輯段均有各自的用途。CS(代碼段)指明代碼段的起始地址SS(堆棧段)指明堆棧段的起始地址DS(數(shù)據(jù)段)指明數(shù)據(jù)段的起始地址ES(附加段)指明附加段的起始地址在80386及其后繼的80X86中,新增兩個(gè)段寄存器FS和GS,它們也是附加的數(shù)據(jù)段寄存器。1/15/202396河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院各邏輯段的分配程序的指令序列必須安排在代碼段。程序使用的堆棧一定在堆棧段。程序中的數(shù)據(jù)默認(rèn)是安排在數(shù)據(jù)段,也經(jīng)常安排在附加段,尤其是串操作的目的區(qū)必須是附加段。數(shù)據(jù)的存放比較靈活,實(shí)際上可以存放在任何一種邏輯段中。默認(rèn)的情況允許改變,需要使用段超越前綴指令:CS:、SS:、DS:、ES:、FS:、GS:。1/15/202397河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院8086/8088、80286的段寄存器和相應(yīng)存放偏移地址的寄存器之間的默認(rèn)組合段偏移CSIPSSSP或BPDSBX、DI、SI或一個(gè)16位數(shù)ESDI(用于串指令)1/15/202398河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院段分配方式
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年婚禮汽車(chē)服務(wù)行業(yè)深度研究分析報(bào)告
- 廢機(jī)油深加工潤(rùn)滑油基礎(chǔ)油可行性研究報(bào)告申請(qǐng)備案
- 二手挖機(jī)購(gòu)買(mǎi)合同范本
- 倉(cāng)儲(chǔ)與快遞合同范本
- 2025-2031年中國(guó)萬(wàn)能磨刀機(jī)行業(yè)市場(chǎng)調(diào)查研究及發(fā)展趨勢(shì)預(yù)測(cè)報(bào)告
- 2025年度經(jīng)濟(jì)適用房改造升級(jí)工程承包合同范本
- it設(shè)備合同范本
- 企業(yè)幫扶合同范本
- 借貸合同與欠款合同范本
- 上海epc合同范本
- GB/T 45177-2024人工光型植物工廠光環(huán)境技術(shù)規(guī)范
- 2025年中考語(yǔ)文模擬試卷(含答案解析)
- 2024-2025年天津河西區(qū)七年級(jí)上學(xué)期期末道德與法治試題(含答案)
- 2025年個(gè)人學(xué)習(xí)領(lǐng)導(dǎo)講話心得體會(huì)和工作措施例文(6篇)
- 2025大連機(jī)場(chǎng)招聘109人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2020-2025年中國(guó)中小企業(yè)行業(yè)市場(chǎng)調(diào)研分析及投資戰(zhàn)略咨詢報(bào)告
- 物流中心原材料入庫(kù)流程
- 長(zhǎng)沙市2025屆中考生物押題試卷含解析
- 2024-2025學(xué)年廣東省深圳市寶安區(qū)八年級(jí)(上)期末語(yǔ)文試卷
- 2024年芽苗菜市場(chǎng)調(diào)查報(bào)告
- 新版中華人民共和國(guó)會(huì)計(jì)法解讀學(xué)習(xí)課件
評(píng)論
0/150
提交評(píng)論