![《匯編語(yǔ)言程序設(shè)計(jì)(第2版)》第一章 基礎(chǔ)知識(shí)_第1頁(yè)](http://file4.renrendoc.com/view/40aa961c5184a42dcb2b9066dd2dcf51/40aa961c5184a42dcb2b9066dd2dcf511.gif)
![《匯編語(yǔ)言程序設(shè)計(jì)(第2版)》第一章 基礎(chǔ)知識(shí)_第2頁(yè)](http://file4.renrendoc.com/view/40aa961c5184a42dcb2b9066dd2dcf51/40aa961c5184a42dcb2b9066dd2dcf512.gif)
![《匯編語(yǔ)言程序設(shè)計(jì)(第2版)》第一章 基礎(chǔ)知識(shí)_第3頁(yè)](http://file4.renrendoc.com/view/40aa961c5184a42dcb2b9066dd2dcf51/40aa961c5184a42dcb2b9066dd2dcf513.gif)
![《匯編語(yǔ)言程序設(shè)計(jì)(第2版)》第一章 基礎(chǔ)知識(shí)_第4頁(yè)](http://file4.renrendoc.com/view/40aa961c5184a42dcb2b9066dd2dcf51/40aa961c5184a42dcb2b9066dd2dcf514.gif)
![《匯編語(yǔ)言程序設(shè)計(jì)(第2版)》第一章 基礎(chǔ)知識(shí)_第5頁(yè)](http://file4.renrendoc.com/view/40aa961c5184a42dcb2b9066dd2dcf51/40aa961c5184a42dcb2b9066dd2dcf515.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ì)(第2版)1.1數(shù)據(jù)表示與運(yùn)算1.28086/8088系統(tǒng)結(jié)構(gòu)1.380X86/Pentium微處理器簡(jiǎn)介1.4計(jì)算機(jī)語(yǔ)言基本概念第1章基礎(chǔ)知識(shí)
1.1數(shù)據(jù)表示與運(yùn)算1.1.1進(jìn)位計(jì)數(shù)制與不同進(jìn)制數(shù)之間的轉(zhuǎn)換1.二進(jìn)制數(shù)、八進(jìn)制數(shù)和十六進(jìn)制數(shù)(1)二進(jìn)制數(shù)第1章基礎(chǔ)知識(shí)
二進(jìn)制數(shù)只有0,1兩個(gè)數(shù)碼,其基數(shù)為2,遵循逢二進(jìn)一的原則,它的第k位權(quán)以2k表示的。
二進(jìn)制數(shù)anan-1…a0a-1a-2…a-m的值是:an×2n+an-1×2n-1+…+a0×20+a-1×2-1+a-2×2-2+…+a-m×2-m其中ai為0,1兩個(gè)數(shù)碼中的一個(gè)。二進(jìn)制的描述是在其尾部加注字母B,例如:10100101.11B=1×27+0×26+1×25+0×24+0×23+1×22
+0×21+1×20+1×2-1+1×2-2=128+32+4+1+0.5+0.25=165.75第1章基礎(chǔ)知識(shí)
表1-13位二進(jìn)制與十進(jìn)制數(shù)對(duì)應(yīng)表二進(jìn)制數(shù)000001010011100101110111相應(yīng)的十進(jìn)制數(shù)01234567表1-24位二進(jìn)制與十進(jìn)制數(shù)對(duì)應(yīng)表二進(jìn)制數(shù)00000001001000110100010101100111相應(yīng)的十進(jìn)制數(shù)01234567二進(jìn)制數(shù)10001001101010111100110111101111相應(yīng)的十進(jìn)制數(shù)89101112131415(2)八進(jìn)制數(shù)
八進(jìn)制數(shù)有0,1,2,3,4,5,6,7八個(gè)數(shù)碼,其基數(shù)為8,遵循逢八進(jìn)一的原則,它的第k位權(quán)以8k表示的。八進(jìn)制的描述是在其尾部加注字母O或Q。
八進(jìn)制數(shù)anan-1…a0a-1a-2…a-m的值是:
an×8n+an-1×8n-1+…+a0×80+a-1×8-1+a-2×8-2+…+a-m×8-m
例如:534.5Q=5×82+3×81+4×80+5×8-1=5×64+3×8+4×1+0.5=348.5第1章基礎(chǔ)知識(shí)
(3)十六進(jìn)制數(shù)十六進(jìn)制數(shù)有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F(xiàn)十六個(gè)數(shù)碼,其中A,B,C,D,E,F(xiàn)表示10到15六個(gè)數(shù)碼,其基數(shù)為16,遵循逢十六進(jìn)一的原則,它的第k位權(quán)以16k表示的。十六進(jìn)制的描述是在其尾部加注字母H。十六進(jìn)制數(shù)anan-1…a0a-1a-2…a-m的值是:an×16n+an-1×16n-1+…+a0×160+a-1×16-1+a-2×16-2+…+a-m×16-m例如:2AC.CH=2×162+10×161+12×160+4×16-1=2×256+10×16+12×1+12×16-1=684.75第1章基礎(chǔ)知識(shí)
第1章基礎(chǔ)知識(shí)
2.不同數(shù)制之間的轉(zhuǎn)換(1)非十進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)各位非十進(jìn)制數(shù)碼乘以與其對(duì)應(yīng)的權(quán)之和即為該數(shù)對(duì)應(yīng)的十進(jìn)制數(shù)。例如:1011100.1011B=1×26+1×24+1×23+1×22+1×2-1+1×2-3+1×2-4=92.6875DA031H=10×163+3×161+1×160=410091001Q=1×83+1×80=513(2)十進(jìn)制數(shù)轉(zhuǎn)換為非十進(jìn)制數(shù)
十進(jìn)制數(shù)轉(zhuǎn)換為非十進(jìn)制數(shù)一般整數(shù)部分采用除基數(shù)取余法,小數(shù)部分采用乘基數(shù)取整法。
除基數(shù)取余法的具體操作是把待轉(zhuǎn)換的十進(jìn)制數(shù)的整數(shù)部分不斷除以要轉(zhuǎn)換為的非十進(jìn)制基數(shù),并記下余數(shù),直到商為0時(shí)為止;
乘基數(shù)取整法的具體操作是把待轉(zhuǎn)換的十進(jìn)制數(shù)的小數(shù)部分不斷乘以要轉(zhuǎn)換為的非十進(jìn)制基數(shù),逐次記下乘積整數(shù)部分的值,直到小數(shù)部分為0為止。第1章基礎(chǔ)知識(shí)
現(xiàn)以十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)為例進(jìn)行說(shuō)明,十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)將“基數(shù)”換成2就成了除2取余法和乘2取整法?!纠?.1】將十進(jìn)制數(shù)N=137.8125D轉(zhuǎn)換成二進(jìn)制數(shù)。
整數(shù)部分137D,按除2取余法有:
137/2=68 (a0=1)
68/2=34 (a1=0)
34/2=17 (a2=0)
17/2=8 (a3=1)
8/2=4 (a4=0)
4/2=2 (a5=0)
2/2=1 (a6=0)
1/2=0 (a7=1)
故137D=10001001B第1章基礎(chǔ)知識(shí)
小數(shù)部分為0.8125D,按乘2取整法有:
0.8125×2=1.625 (a-1=1)
0.625×2=1.25 (a-2=1)
0.25×2=0.5 (a-3=0)
0.5×2=1.0 (a-4=1)
故0.8125D=0.1101B
所以N=137.8125D=10001001.1101B
十進(jìn)制數(shù)轉(zhuǎn)換為十六進(jìn)制數(shù)和八進(jìn)制數(shù)的方法與十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)的方法類同。第1章基礎(chǔ)知識(shí)
(3)十六進(jìn)制數(shù)與二進(jìn)制數(shù)之間的轉(zhuǎn)換
因?yàn)?6=24,所以一個(gè)十六進(jìn)制數(shù)中的每一位可以用4位二進(jìn)制數(shù)表示,便可形成相應(yīng)的二進(jìn)制數(shù)。
【例1.2】將十六進(jìn)制數(shù)CB9A裝換成二進(jìn)制數(shù)。
CB9A
1100101110011010
即CB9AH=1100101110011010B
反之,二進(jìn)制數(shù)只要把它從低位到高位每4位組成一組,再用十六進(jìn)制數(shù)來(lái)表示就可以了。
【例1.3】將二進(jìn)制數(shù)0111010110111111轉(zhuǎn)化成十六進(jìn)制數(shù)。
0111010110111111
75BF
即:0111010110111111B=75BFH第1章基礎(chǔ)知識(shí)
1.1.2二進(jìn)制數(shù)和十六進(jìn)制數(shù)運(yùn)算
1.二進(jìn)制數(shù)的運(yùn)算
加法規(guī)則:乘法規(guī)則:
0+0=00×0=0
0+1=10×1=0
1+0=11×0=0
1+1=10(1為進(jìn)位)1×1=1
第1章基礎(chǔ)知識(shí)
2.十六進(jìn)制數(shù)的運(yùn)算
(1)十六進(jìn)制加法
十六進(jìn)制數(shù)的運(yùn)算按照逢十六進(jìn)一的規(guī)則進(jìn)行,即當(dāng)兩個(gè)一位數(shù)之和S小于16時(shí),與十進(jìn)制數(shù)同樣處理,如兩個(gè)一位數(shù)之和S≥16時(shí),則應(yīng)該用S-16及進(jìn)位1來(lái)取代S。
【例1.4】十六進(jìn)制的加法
15C3H
+3D45H
5308H
第1章基礎(chǔ)知識(shí)
(2)十六進(jìn)制數(shù)的減法
十六進(jìn)制數(shù)的減法與十進(jìn)制數(shù)類似,夠減時(shí)可以直接相減,不夠減時(shí)服從向高位借1為16的規(guī)則。
【例1.5】十六進(jìn)制的減法示例
3DA6H
-0FC3H
2DE3H
第1章基礎(chǔ)知識(shí)
1.1.3數(shù)據(jù)表示
計(jì)算機(jī)內(nèi)的數(shù)據(jù)由多種形式,其中最主要的是數(shù)值數(shù)據(jù)和字符數(shù)據(jù)。1.數(shù)值數(shù)據(jù)的表示
數(shù)值數(shù)據(jù)可以用不同的碼制來(lái)表示,常用的有原碼,補(bǔ)碼和反碼表示法。由于作加減運(yùn)算時(shí)補(bǔ)碼表示法的符號(hào)位可以參加運(yùn)算,而且不影響運(yùn)算結(jié)果的正確性,所以多數(shù)機(jī)器的有符號(hào)整數(shù)都采用補(bǔ)碼表示法。這里只介紹補(bǔ)碼表示法。第1章基礎(chǔ)知識(shí)
(1)數(shù)的補(bǔ)碼表示
①補(bǔ)碼表示法中正數(shù)的表示
正數(shù)采用符號(hào)-絕對(duì)值表示,即數(shù)的最高有效位為0表示符號(hào)正,數(shù)的其余部分則表示數(shù)的絕對(duì)值。
例如假設(shè)機(jī)器字長(zhǎng)為8位,則
[+0]補(bǔ)=00000000B
[+1]補(bǔ)=00000001B
[+100]補(bǔ)=01100100B
第1章基礎(chǔ)知識(shí)
②補(bǔ)碼表示法中負(fù)數(shù)的表示
用補(bǔ)碼表示法來(lái)表示負(fù)數(shù)時(shí)可以采用“求反加1”的方法來(lái)完成:先寫(xiě)出與該負(fù)數(shù)相對(duì)應(yīng)的正數(shù)的補(bǔ)碼表示(用符號(hào)-絕對(duì)值法),然后將其按位求反(即0變?yōu)?,1變?yōu)?),最后在末位(最低位)加1,就可以得到該負(fù)數(shù)的補(bǔ)碼表示了。
【例1.6】機(jī)器字長(zhǎng)為8位,寫(xiě)出N=-27的補(bǔ)碼表示。
+27D可表示為00011011
按位求反為11100100
末位加1后為 11100101
用十六進(jìn)制數(shù)表示為E5H
即: [-27]補(bǔ)=E5H
第1章基礎(chǔ)知識(shí)
【例1.7】機(jī)器字長(zhǎng)為16位,寫(xiě)出N=-32768的補(bǔ)碼表示。
32768D可表示為 100000000000
0000
按位求反為 011111111111
1111
末位加1后為 100000000000
0000
用十六進(jìn)制數(shù)表示為 8000
即[-32768]補(bǔ)=8000H
第1章基礎(chǔ)知識(shí)
③
數(shù)的表示范圍有符號(hào)數(shù)的表示范圍一般說(shuō)來(lái),n位二進(jìn)制補(bǔ)碼表示的數(shù)的表示范圍是 -2n-1≤N≤2n-1-1無(wú)符號(hào)整數(shù)的表示范圍 在作無(wú)符號(hào)數(shù)處理時(shí),我們把最高有效位作為數(shù)值處理。因此,16位無(wú)符號(hào)數(shù)的表示范圍是0≤N≤65535,8位無(wú)符號(hào)數(shù)的表數(shù)范圍是0≤N≤255。第1章基礎(chǔ)知識(shí)
(2)補(bǔ)碼的運(yùn)算
①求補(bǔ)運(yùn)算
[-X]補(bǔ)=[X]補(bǔ)+1
【例1.8】已知
[+117]補(bǔ)=0075H,求[-117]補(bǔ)。
對(duì)[+117]補(bǔ)作求補(bǔ)運(yùn)算:
[+117]補(bǔ)為0000000001110101
按位求反后得1111111110001010
末位加1后得1111111110001011
此數(shù)正是[+117]補(bǔ)=0075H。
第1章基礎(chǔ)知識(shí)
②補(bǔ)碼的加、減法運(yùn)算
補(bǔ)碼的加法規(guī)則是:
[X+Y]補(bǔ)=[X]補(bǔ)+[Y]補(bǔ)
補(bǔ)碼的減法規(guī)則是:
[X-Y]補(bǔ)=[X]補(bǔ)+[-Y]補(bǔ)
其中的[-Y]補(bǔ)只要對(duì)[Y]補(bǔ)求補(bǔ)就可得到?!纠?.9】機(jī)器字長(zhǎng)假定為8位機(jī)器字長(zhǎng)假定為8位,完成下列補(bǔ)碼加法運(yùn)算。
① 十進(jìn)制 二進(jìn)制
23 00010111
+36 +00100100
59 00111011
第1章基礎(chǔ)知識(shí)
②
3600100100+(-23)+11101001
13(進(jìn)位1)00001101③ 23 00010111 +(-36)+11011100-13 11110011④
-23 11101001+(-36)+11011100-59(進(jìn)位1)11000101第1章基礎(chǔ)知識(shí)
【例1.10】機(jī)器字長(zhǎng)假定為8位,完成下列補(bǔ)碼減法運(yùn)算. 十進(jìn)制 補(bǔ)碼 二進(jìn)制①23 00010111 00010111 -36 00100100 +11011100 -13 11110011② 36 00100100 00100100 -(-23) 11101001 +00010111 59 00111011第1章基礎(chǔ)知識(shí)
③ -23 11101001 11101001 -(+36) 00100100+11011100 -59 (進(jìn)位為1)11000101④ -23 11101001 11101001 -(-36) 11011100+00100100 13 (進(jìn)位為1) 00001101第1章基礎(chǔ)知識(shí)
2.字符數(shù)據(jù)的表示
計(jì)算機(jī)內(nèi)的常見(jiàn)字符包括:
字母:AB…Zab…z
數(shù)字:0~9
標(biāo)點(diǎn)符號(hào):!,?;:、等
算術(shù)運(yùn)算符號(hào):+-×/
關(guān)系運(yùn)算符號(hào):><=
專用字符:*$@%#空格等
非打印字符:BEL(響鈴),LF(換行),CR(回車)等
第1章基礎(chǔ)知識(shí)
1.1.4定點(diǎn)數(shù)與浮點(diǎn)數(shù)
計(jì)算機(jī)中根據(jù)小數(shù)點(diǎn)的位置是否固定,將數(shù)的表示分為定點(diǎn)數(shù)表示和浮點(diǎn)數(shù)表示。
1.定點(diǎn)數(shù)
定點(diǎn)數(shù)是指小數(shù)點(diǎn)位置固定不變的數(shù)。小數(shù)點(diǎn)的位置通常只有兩種約定,小數(shù)點(diǎn)約定在最低數(shù)位右面的稱為定點(diǎn)整數(shù),可用來(lái)表示一個(gè)純整數(shù)。小數(shù)點(diǎn)約定在符號(hào)位右面,最高數(shù)位左面的數(shù)稱為定點(diǎn)小數(shù),可用來(lái)表示一個(gè)純小數(shù)。
無(wú)符號(hào)定點(diǎn)整數(shù),即正整數(shù),不需要設(shè)符號(hào)位,所有各數(shù)位都用來(lái)表示數(shù)值大小,并約定小數(shù)點(diǎn)在最低數(shù)的右面。
在定點(diǎn)整數(shù)或定點(diǎn)小數(shù)的表示法中,參加運(yùn)算的數(shù)以及運(yùn)算的結(jié)果必須在該定點(diǎn)數(shù)所能表示的數(shù)值范圍之內(nèi),否則“溢出”。當(dāng)發(fā)生溢出時(shí),CPU中的狀態(tài)標(biāo)志寄存器中的溢出標(biāo)志OF置1。第1章基礎(chǔ)知識(shí)
2.浮點(diǎn)數(shù)
浮點(diǎn)表示法,其小數(shù)點(diǎn)的實(shí)際位置隨指數(shù)(階)的大小而浮動(dòng)。浮點(diǎn)數(shù)由兩部分組成:階碼E和尾數(shù)M。浮點(diǎn)數(shù)表示的數(shù)值為M×RE。若尾數(shù)M為m位,階碼E為e位,則典型的浮點(diǎn)數(shù)格式如圖1-1所示。MSESEe-2
……E0Mm-2
……M0
數(shù)符階符階碼E尾數(shù)M
圖1-1浮點(diǎn)數(shù)格式第1章基礎(chǔ)知識(shí)
圖中,E是階碼,即指數(shù),為帶符號(hào)定點(diǎn)整數(shù),可用補(bǔ)碼表示。Es階符,表示階的正負(fù)。階為正,小數(shù)點(diǎn)實(shí)際位置向右浮支,階為負(fù),小數(shù)點(diǎn)實(shí)際位置向左浮動(dòng)。
M是尾數(shù),是帶符號(hào)的定點(diǎn)小數(shù),常用補(bǔ)碼表示。Ms是尾數(shù)的符號(hào)位,安排在最高位,表示該浮點(diǎn)數(shù)的正負(fù)。
小數(shù)點(diǎn)的位置約定在階碼最低位的右面,尾數(shù)最高數(shù)值位的左面,如圖1-1所示。
R是階碼的底,也就是尾數(shù)M的基(Radix)。一般基為2,它是隱含約定的。
浮點(diǎn)數(shù)的表示范圍主要由階碼的位數(shù)決定。精度則主要由尾數(shù)的位數(shù)決定。第1章基礎(chǔ)知識(shí)
8086微處理器是美國(guó)Intel公司1987年推出的一種高性能的16位微處理器。它采用硅柵HMOS工藝制造,在1.45cm2單個(gè)硅片上集成了29000個(gè)晶體管。8086的內(nèi)部結(jié)構(gòu)規(guī)模較小,采用40引腳的雙列直插式封裝。8086的一個(gè)突出特點(diǎn)是多重處理能力,用8086CPU與8087協(xié)處理器以及8089I/O處理器組成的多處理器系統(tǒng),可大大提高其數(shù)據(jù)處理和輸入/輸出能力。與8086配套的各種外圍接口芯片非常豐富,方便用戶開(kāi)發(fā)各種系統(tǒng)。
1.28086/8088系統(tǒng)結(jié)構(gòu)第1章基礎(chǔ)知識(shí)
1.2.18086/8088CPU的內(nèi)部結(jié)構(gòu)
8086CPU內(nèi)部結(jié)構(gòu)如圖1-2所示。按功能可分為兩大部分:總線接口單元BIU(BusInterfaceUnit)和執(zhí)行單元EU(ExecutionUnit)。第1章基礎(chǔ)知識(shí)
1.總線接口單元BIU
總線接口單元BIU是8086CPU同存儲(chǔ)器和I/O設(shè)備之間的接口部件,負(fù)責(zé)對(duì)全部引腳的操作,即8086所有對(duì)存儲(chǔ)器和I/O設(shè)備的操作都是由BIU完成的。其具體任務(wù)是:負(fù)責(zé)從內(nèi)存單元中預(yù)取指令,并將它們送到指令隊(duì)列緩沖器暫存。CPU執(zhí)行指令時(shí),總線接口單元要配合執(zhí)行單元,從指定的內(nèi)存單元或者I/O端口中取數(shù)據(jù)傳送給執(zhí)行單元,或者把執(zhí)行單元的處理結(jié)果傳送到指定的內(nèi)存單元或I/O端口中。
總線接口單元BIU由20位地址加法器、四個(gè)段寄存器、16位指令指針I(yè)P、指令隊(duì)列緩沖器和總線控制邏輯電路等組成。第1章基礎(chǔ)知識(shí)
(1)地址加法器和段寄存器
8086CPU的20條地址線,可直接尋址1MB存儲(chǔ)器物理空間。但CPU內(nèi)部寄存器均為16位的寄存器。那么,16位的寄存器如何實(shí)現(xiàn)20位地址尋址呢?它是由專門(mén)地址加法器將有關(guān)段寄存器內(nèi)容(段的起始地址)左移四位后,與16位偏移地址相加,形成了一個(gè)20位的物理地址,以對(duì)存儲(chǔ)單元尋址。
第1章基礎(chǔ)知識(shí)
比如在取指令時(shí),由16位指令指針(IP)提供一個(gè)有效地址(邏輯地址或偏移地址),在地址加法器中與代碼段寄存器(CS)左移四位后的內(nèi)容相加,形成實(shí)際的20位物理地址,送到總線上實(shí)現(xiàn)取指令的尋址。圖1-3表示出了這一物理地址的形成過(guò)程。例如:假定代碼段寄存器(CS)=2000H,指令碼單元的偏移地址(IP)=1000H,則此指令的物理地址為21000H。
第1章基礎(chǔ)知識(shí)
(2)16位指令指針I(yè)P(InstructionPointer)
指令指針I(yè)P用來(lái)存放下一條待執(zhí)行指令在代碼段中的偏移地址。它只有和CS相結(jié)合,才能形成指向指令存放單元的物理地址。在程序運(yùn)行中,IP的內(nèi)容由BIU自動(dòng)修改,使它總是指向下一條要取的指令在現(xiàn)行代碼段中的偏移地址。用戶不能直接訪問(wèn)IP,但可以通過(guò)某些指令修改它的內(nèi)容。例如:轉(zhuǎn)移指令可將轉(zhuǎn)移目標(biāo)的偏移地址送入IP來(lái)實(shí)現(xiàn)程序的轉(zhuǎn)移。
第1章基礎(chǔ)知識(shí)
(3)指令隊(duì)列緩沖器
當(dāng)EU正在執(zhí)行指令中,且不需占用總線時(shí),BIU會(huì)自動(dòng)地進(jìn)行預(yù)取指令操作,將所取得的指令按先后次序存入一個(gè)六字節(jié)的指令隊(duì)列寄存器,該隊(duì)列寄存器按“先進(jìn)先出”的方式工作。并按順序取到EU中執(zhí)行。(4)總線控制邏輯電路
總線控制邏輯電路將8086CPU的內(nèi)部總線和外部總線相連,是8086CPU與內(nèi)存單元或I/O端口進(jìn)行數(shù)據(jù)交換的必經(jīng)之路。它包括16條數(shù)據(jù)總線、20條地址總線和若干條控制總線,CPU通過(guò)這些總線與外部取得聯(lián)系,從而構(gòu)成各種規(guī)模的8086微型計(jì)算機(jī)系統(tǒng)。第1章基礎(chǔ)知識(shí)
2.執(zhí)行單元EU
執(zhí)行單元中包含一個(gè)16位的運(yùn)算器ALU,八個(gè)16位的寄存器,一個(gè)16位標(biāo)志寄存器FLAGS,一個(gè)數(shù)據(jù)暫存寄存器和執(zhí)行單元的控制電路,也就是說(shuō)它已經(jīng)包含了微處理機(jī)的三個(gè)基本部件。這個(gè)單元進(jìn)行所有指令的解釋和執(zhí)行,同時(shí)管理上述有關(guān)的寄存器。
第1章基礎(chǔ)知識(shí)
(1)算術(shù)邏輯運(yùn)算單元(ALU)
它是一個(gè)16位的運(yùn)算器,可用于8/16位二進(jìn)制算術(shù)和邏輯運(yùn)算,也可按指令的尋址方式計(jì)算尋址存儲(chǔ)器所需的16位偏移量。
(2)標(biāo)志寄存器(FLAGS)
它是一個(gè)16位的運(yùn)算器,用來(lái)反映CPU運(yùn)算的狀態(tài)特征和存放某些控制標(biāo)志。
第1章基礎(chǔ)知識(shí)
(3)數(shù)據(jù)暫存寄存器
它協(xié)助ALU完成運(yùn)算,暫存參加運(yùn)算的數(shù)據(jù)。
(4)通用寄存器組
它包括4個(gè)16位的數(shù)據(jù)寄存器AX、BX、CX、DX和4個(gè)16位指針與變址寄存器SP、BP與SI、DI。
(5)EU控制電路
它負(fù)責(zé)從BIU的指令隊(duì)列緩沖器中取指令,并對(duì)指令譯碼,根據(jù)指令要求向EU內(nèi)部各部件發(fā)出控制命令,以完成各條指令規(guī)定的功能。
第1章基礎(chǔ)知識(shí)
1.2.28086CPU寄存器組織
8086微處理器內(nèi)部共有14個(gè)16位寄存器,包括:通用寄存器、地址指針和變址寄存器、段寄存器、指令指針和標(biāo)志寄存器。1.通用寄存器
通用寄存器又稱為數(shù)據(jù)寄存器,既可作為16位數(shù)據(jù)寄存器使用,也可作為兩個(gè)8位數(shù)據(jù)寄存器使用。當(dāng)用作16位時(shí),稱為AX、BX、CX、DX。當(dāng)用作8位時(shí),AH、BH、CH、DH存放高字節(jié),AL、BL、CL、DL存放低字節(jié),并且可獨(dú)立尋址,這樣,4個(gè)16位寄存器就可當(dāng)作8個(gè)8位寄存器來(lái)使用。
出于各自特殊的使用場(chǎng)合CX又叫計(jì)數(shù)寄存器,AX又叫累加器,BX叫基址寄存器,而DX叫作數(shù)據(jù)寄存器。
第1章基礎(chǔ)知識(shí)
2.段寄存器
段寄存器共有四個(gè)。代碼段寄存器CS表示當(dāng)前使用的指令代碼可以從該段寄存器指定的存儲(chǔ)器段中取得,相應(yīng)的偏移值則由IP提供。堆棧段寄存器SS指定當(dāng)前堆棧的底部地址。數(shù)據(jù)段寄存器DS指示當(dāng)前程序使用的數(shù)據(jù)所存區(qū)段的最低地址。而附加段寄存器ES則指出當(dāng)前程序使用附加段地址的位置,該段一般用來(lái)存放原始數(shù)據(jù)或運(yùn)算結(jié)果。第1章基礎(chǔ)知識(shí)
3.地址指針和變址寄址器
這4個(gè)寄存器均是16位寄存器。堆棧指針SP用以指出在堆棧段中當(dāng)前棧頂?shù)牡刂?,入棧(PUSH)和出棧(POP)指令是由SP給出棧頂?shù)钠频刂贰;分羔楤P指出要處理的數(shù)據(jù)在堆棧段中的基地址,故稱為基址指針寄存器。這里要注意兩點(diǎn):一是BP并非確切的偏移量,它只是全部偏移量中的一個(gè)基本值;二是BP所指的物理地址必須用堆棧寄存器SS來(lái)計(jì)算。變址寄存器SI和DI用來(lái)存放當(dāng)前數(shù)據(jù)段中某個(gè)單元的偏移量。在字符串處理中,被處理的數(shù)據(jù)稱為源操作數(shù)據(jù),它們存放在源變址寄存器SI給出的偏移地址上。而處理后的字符串則放在由目的變址寄存器DI給出的偏移地址上。這時(shí)SI和DI不能倒過(guò)來(lái)用。順便指出,BX作基地址用時(shí)也可以指定數(shù)據(jù)段的偏移基本量。
第1章基礎(chǔ)知識(shí)
4.指令指針
正常運(yùn)行時(shí),IP中存放的是BIU要取的下一條指令的偏移地址。它具有自動(dòng)加1功能,每當(dāng)執(zhí)行一次取指操作,它將自動(dòng)加1,使它指向要取的下一內(nèi)存單元。每取一個(gè)字節(jié)后IP內(nèi)容加1,若取一個(gè)字后IP內(nèi)容加2。某些指令可使IP值改變,某些指令還可使IP值壓入堆棧,或從堆棧中彈出。第1章基礎(chǔ)知識(shí)
5.標(biāo)志寄存器
標(biāo)志寄存器FLAGS是一個(gè)16位的寄存器,8086共使用了9個(gè)有效位,標(biāo)志寄存器格式如圖1-5所示。其中的6位是狀態(tài)標(biāo)志位,3位為控制標(biāo)志位。狀態(tài)標(biāo)志位是當(dāng)一些指令執(zhí)行后,所產(chǎn)生數(shù)據(jù)的一些特征的表征。而控制標(biāo)志位則是可以由程序?qū)懭?,以達(dá)到控制處理機(jī)狀態(tài)或程序執(zhí)行方式的表征。
第1章基礎(chǔ)知識(shí)
圖1-5標(biāo)志寄存器格式
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
PFOF DFIFTFSFZFCF AFCF(CarryFlag)進(jìn)位標(biāo)志位:當(dāng)執(zhí)行一個(gè)加法(或減法)運(yùn)算使最高位產(chǎn)生進(jìn)位(或借位)時(shí),CF為1;否則為0。PF(PrityFlag)奇偶標(biāo)志位:該標(biāo)志位反映運(yùn)算結(jié)果中1的個(gè)數(shù)是偶數(shù)個(gè)還是奇數(shù)個(gè)。當(dāng)指令執(zhí)行結(jié)果的低8位中含有偶數(shù)個(gè)1時(shí),PF為1;否則為0。AF(AuxiliarycarryFlag)輔助進(jìn)位標(biāo)志位:當(dāng)執(zhí)行一個(gè)加法(或減法)運(yùn)算使結(jié)果的低4位向高4位有進(jìn)位(或借位)時(shí),AF為1;否則為0。ZF(ZeroFlag)零標(biāo)志位:若當(dāng)前的運(yùn)算結(jié)果為零,ZF為1;否則為0。SF(SignFlag)符號(hào)標(biāo)志位:它和運(yùn)算結(jié)果的最高位相同。OF(OverflowFlag)溢出標(biāo)志位:當(dāng)補(bǔ)碼運(yùn)算有溢出時(shí),OF為1;否則為0。DF(DirectionFlag)方向標(biāo)志位:用以指定字符串處理時(shí)的方向,當(dāng)該位置“1”時(shí),字符串以遞減順序處理,即地址以從高到低順序遞減。反之,則以遞增順序處理。IF(InterruptenableFlag)中斷允許標(biāo)志位:用來(lái)控制8086是否允許接收外部中斷請(qǐng)求。若IF=1,8086能響應(yīng)外部中斷,反之則不響應(yīng)外部中斷。注意:IF的狀態(tài)不影響非屏蔽中斷請(qǐng)求(NMI)和CPU內(nèi)部中斷請(qǐng)求。TF(TrapFlag)跟蹤標(biāo)志位:是為調(diào)試程序而設(shè)定的陷阱控制位。當(dāng)該位置“1”時(shí),8086CPU處于單步狀態(tài),此時(shí)CPU每執(zhí)行完一條指令就自動(dòng)產(chǎn)生一次內(nèi)部中斷。當(dāng)該位復(fù)位后,CPU恢復(fù)正常工作。第1章基礎(chǔ)知識(shí)
1.2.38086CPU管腳功能
8086CPU具有40條引腳,采用雙列直插式封裝形式。8086CPU可在兩種模式下工作(最小模式和最大模式)。
所謂最小模式,是指系統(tǒng)中只有一個(gè)8086CPU,在這種系統(tǒng)中,8086CPU直接產(chǎn)生所有的總線控制信號(hào),系統(tǒng)所需的外加其他總線控制邏輯部件最少。第1章基礎(chǔ)知識(shí)
所謂最大模式,是指系統(tǒng)中常含有兩個(gè)或多個(gè)微處理器,其中一個(gè)為主處理器8086CPU,其他的處理器稱為協(xié)處理器,它們是協(xié)助主處理器工作的。在最大模式工作時(shí),控制信號(hào)是通過(guò)8288總線控制器提供的。因此,在不同方式下工作時(shí),部分引腳(第24~31引腳)會(huì)具有不同的功能。返回本章首頁(yè)返回上一節(jié)第1章基礎(chǔ)知識(shí)
1.380X86/Pentium微處理器簡(jiǎn)介
隨著微機(jī)應(yīng)用領(lǐng)域的擴(kuò)大和應(yīng)用技術(shù)的深入,Intel公司也不斷推出新產(chǎn)品,從80286、80386、80486(統(tǒng)稱為80X86)到Pentium處理器,直至現(xiàn)在的64位微處理器Itanium(安騰)。這些CPU除了Itanium與8086/8088的指令系統(tǒng)不兼容外,其它的處理器均是向下兼容的。本節(jié)將簡(jiǎn)要介紹80X86/Pentium處理器的特點(diǎn)。第1章基礎(chǔ)知識(shí)
1.3.180286微處理器
1982年,Intel公司推出80286微處理器,80286的內(nèi)部、外部數(shù)據(jù)總線都是16位,但與8086/8088相比,其速度更快,具有處理多任務(wù)的功能,因?yàn)榈刂肪€增加到24條,尋址范圍大幅擴(kuò)展,實(shí)模式下達(dá)到16MB,內(nèi)存虛擬地址空間達(dá)1GB。與8086一樣,80286也有8個(gè)16位的通用寄存器和4個(gè)段寄存器、一個(gè)指令指針I(yè)P,含義與8086寄存器一樣。但80286CPU增加了一個(gè)機(jī)器狀態(tài)字寄存器MSW,和在標(biāo)志寄存器Flags中增加了兩個(gè)標(biāo)志。這些新增的命令只能在保護(hù)模式下使用。80286的時(shí)鐘頻率也提高到20MHZ,比8086高4倍。由于新增加內(nèi)容在程序設(shè)計(jì)中使用不多,故不再贅述。80286增加了存儲(chǔ)器管理和虛地址保護(hù)機(jī)構(gòu),對(duì)存儲(chǔ)器采用分段管理,每段最大64KB,并支持虛擬存儲(chǔ)器,80286有兩種基本工作方式:實(shí)地址方式和虛地址保護(hù)方式。第1章基礎(chǔ)知識(shí)
1.3.280386微處理器
1985年10月,Intel公司推出80386微處理器,80386集成了32萬(wàn)個(gè)晶體管,共有132只引腳。其內(nèi)部、外部數(shù)據(jù)總線都是32位(80386SXCPU外部數(shù)據(jù)線為16位),地址線32條,實(shí)際尋址范圍為4GB,虛擬存儲(chǔ)空間達(dá)64TB。80386存儲(chǔ)管理部件可進(jìn)行段頁(yè)式存儲(chǔ)管理,支持虛擬存儲(chǔ)器。1986年后Intel推出了多種型號(hào)的80386:80386SX,外部數(shù)據(jù)總線只有16位;80386DX,標(biāo)準(zhǔn)80386;80386SL,低功耗、節(jié)能芯片;80386DL,低功耗、節(jié)能型的80386DX;80386EX,基于80386SX,但地址總線是26位,且低功耗、節(jié)能型。第1章基礎(chǔ)知識(shí)
1.80386的基本結(jié)構(gòu)80386由中央處理部件CPU、存儲(chǔ)管理部件MMU和總線接口部件BIU組成。中央處理部件由指令部件和執(zhí)行部件組成,包括預(yù)取、譯碼、執(zhí)行三個(gè)部件。MMU分為分段部件和分頁(yè)部件。分段部件對(duì)邏輯地址空間進(jìn)行管理,分頁(yè)部件對(duì)物理地址空間進(jìn)行管理。BIU負(fù)責(zé)與存儲(chǔ)器、I/O端口傳送數(shù)據(jù)。80386的預(yù)取、譯碼、執(zhí)行、分段、分頁(yè)、總線接口這6個(gè)部件可以并行操作,從而加快指令執(zhí)行速度。圖1-7是80386內(nèi)部結(jié)構(gòu)圖。第1章基礎(chǔ)知識(shí)
圖1-780386CPU內(nèi)部結(jié)構(gòu)圖2.80386的寄存器組織80386共有7類32個(gè)寄存器,分別是通用寄存器、指令指針和標(biāo)志寄存器、段寄存器、系統(tǒng)地址寄存器、控制寄存器、調(diào)試寄存器和測(cè)試寄存器。如圖1-8所示.第1章基礎(chǔ)知識(shí)
圖1-832位寄存器示意圖1.3.380486微處理器
1989年,Intel公司推出80486微處理器。80486集成120萬(wàn)晶體管,共有168只引腳。內(nèi)部、外部數(shù)據(jù)總線都是32位,地址線32條,尋址范圍同80386。最高工作頻率133MHz。內(nèi)含高速緩存8KBCACHE和80387數(shù)值協(xié)處理器(80486SXCPU不含數(shù)值協(xié)處理器),帶有浮點(diǎn)運(yùn)算功能。指令執(zhí)行單元采用RISC技術(shù)和流水線技術(shù),大部分基本指令執(zhí)行時(shí)間為1個(gè)時(shí)鐘周期。80486CPU在寄存器與內(nèi)存管理方面同80386基本相同。80486與80386一樣有三種工作方式,并提供4級(jí)保護(hù)機(jī)制。第1章基礎(chǔ)知識(shí)
1.3.4Pentium系列微處理器第1章基礎(chǔ)知識(shí)
1.3.5Itanium(安騰)系列微處理器2001年,Intel與HP攜手推出一款基于IA-64平臺(tái)的服務(wù)器產(chǎn)品——安騰(Itanium)微處理器Merced。Merced處理器時(shí)鐘主頻分別為733MHz和800MHz,可選2MB或4MBoff-die三級(jí)緩存,它是英特爾第一款64位產(chǎn)品,具有64位尋址能力和64位寄存器,所以我們稱為64位CPU。由于具有64位尋址能力,它能夠使用1百萬(wàn)TB的地址空間,足以運(yùn)算企業(yè)級(jí)或超大規(guī)模的數(shù)據(jù)庫(kù)任務(wù);64位寄存器可以使CPU浮點(diǎn)運(yùn)算達(dá)到非常高的精度。其實(shí)IA-64處理器還具有顯性并行性、分支預(yù)測(cè)等特性,這些技術(shù)都是為頂級(jí)、企業(yè)級(jí)服務(wù)器及工作站而設(shè)計(jì)的,指令級(jí)并行性可促進(jìn)最優(yōu)化的軟件指令結(jié)構(gòu),從而使處理器能夠在相同時(shí)間內(nèi)執(zhí)行更多的指令。第1章基礎(chǔ)知識(shí)
Intel于2002年7月發(fā)布安騰2微處理器McKinley,它是第一代安騰處理器的升級(jí)版本,時(shí)鐘主頻分別為900MHz和1GHz,緩存容量分別為1.5MB和3MB。2003年6月30日發(fā)布McKinley的改進(jìn)版Madison。2006年7月18日發(fā)布首款雙核安騰處理器Montecito,它集成了17.2億個(gè)晶體管和其它服務(wù)器相關(guān)技術(shù),包括虛擬化支持,耗電量只有100瓦。安騰2可以支持Windows、Linux、UNIX、BSD和VMS等多種操作系統(tǒng)。目前全球100家最大型的企業(yè)中,有76家運(yùn)行在安騰2的系統(tǒng)上;10大汽車制造商中,有9家采用安騰2微處理器;10大銀行中,有8家采用安騰微處理器。
第1章基礎(chǔ)知識(shí)
1.4計(jì)算機(jī)語(yǔ)言基本概念
機(jī)器指令是指揮計(jì)算機(jī)完成某一基本操作的命令,由硬件電路設(shè)計(jì)決定的,因而也叫做硬指令。機(jī)器指令是由一組能為計(jì)算機(jī)所接受的0和1組成的二進(jìn)制代碼。機(jī)器指令由操作碼和地址碼組成,規(guī)定了要求計(jì)算機(jī)完成的操作及其操作的對(duì)象(數(shù)據(jù)或存儲(chǔ)單元地址);1.4.1機(jī)器語(yǔ)言1.機(jī)器指令第1章基礎(chǔ)知識(shí)
2.指令系統(tǒng)
每臺(tái)計(jì)算機(jī)所具有的特有的、全部指令的集合構(gòu)成該CPU的指令系統(tǒng)。不同的CPU具有不同的指令系統(tǒng)。
3.機(jī)器語(yǔ)言程序
機(jī)器指令的集合構(gòu)成了機(jī)器語(yǔ)言,用機(jī)器語(yǔ)言編寫(xiě)的程序就是機(jī)器語(yǔ)言程序。
計(jì)算機(jī)所能識(shí)別的語(yǔ)言只有機(jī)器語(yǔ)言,但機(jī)器語(yǔ)言非常難于記憶和識(shí)別。
通常人們編程時(shí),不采用機(jī)器語(yǔ)言,而采用匯編語(yǔ)言和高級(jí)語(yǔ)言。
第1章基礎(chǔ)知識(shí)
1.匯編指令
匯編指令是用助記符號(hào)表示的機(jī)器指令,它與機(jī)器指令一一對(duì)應(yīng)。
2.匯編程序
計(jì)算機(jī)不能直接識(shí)別匯編指令,要讓機(jī)器接受匯編指令還需要有一個(gè)將匯編指令翻譯為機(jī)器指令的過(guò)程,這個(gè)過(guò)程稱為匯編。匯編程序就是把匯編語(yǔ)言源程序翻譯成
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 物聯(lián)網(wǎng)時(shí)代的網(wǎng)絡(luò)安全技術(shù)及管理策略
- 3 桂花雨(說(shuō)課稿)-2024-2025學(xué)年統(tǒng)編版語(yǔ)文五年級(jí)上冊(cè)
- 2023九年級(jí)數(shù)學(xué)上冊(cè) 第2章 一元二次方程2.2 一元二次方程的解法2.2.1 配方法第3課時(shí) 用配方法解二次項(xiàng)系數(shù)不為1的一元二次方程說(shuō)課稿 (新版)湘教版
- Unit 6 Food Lesson 1(說(shuō)課稿)-2024-2025學(xué)年人教精通版(2024)英語(yǔ)三年級(jí)上冊(cè)001
- 2025房地產(chǎn)委托合同書(shū)范本
- 2023九年級(jí)數(shù)學(xué)上冊(cè) 第二十四章 圓24.2 點(diǎn)和圓、直線和圓的位置關(guān)系24.2.2 直線和圓的位置關(guān)系第3課時(shí) 切線長(zhǎng)定理說(shuō)課稿(新版)新人教版001
- 2《我愛(ài)我們的祖國(guó)》說(shuō)課稿-2024-2025學(xué)年統(tǒng)編版語(yǔ)文一年級(jí)上冊(cè)
- Unit1 Making friends Part C Make a mind map of making friends(說(shuō)課稿)-2024-2025學(xué)年人教PEP版(2024)英語(yǔ)三年級(jí)上冊(cè)
- 2《我是什么》(說(shuō)課稿)2024-2025學(xué)年二年級(jí)上冊(cè)語(yǔ)文統(tǒng)編版
- 2025關(guān)于招標(biāo)合同的報(bào)告
- 構(gòu)建綠色低碳的城市生態(tài)系統(tǒng)
- 春節(jié)習(xí)俗中的傳統(tǒng)節(jié)日服飾與裝扮
- 兒童編程課件
- (完整word版)英語(yǔ)四級(jí)單詞大全
- 武裝押運(yùn)操作規(guī)程完整
- 混合動(dòng)力汽車構(gòu)造與檢修(高職新能源汽車專業(yè))PPT完整全套教學(xué)課件
- 小學(xué)體育《運(yùn)動(dòng)前后的飲食衛(wèi)生》課件
- 薪酬專員崗位月度KPI績(jī)效考核表
- 技能大賽題庫(kù)(空分)
- 污水處理廠設(shè)備的操作規(guī)程(完整版)
- GB/T 28419-2012風(fēng)沙源區(qū)草原沙化遙感監(jiān)測(cè)技術(shù)導(dǎo)則
評(píng)論
0/150
提交評(píng)論