微機(jī)原理課件_第1頁(yè)
微機(jī)原理課件_第2頁(yè)
微機(jī)原理課件_第3頁(yè)
微機(jī)原理課件_第4頁(yè)
微機(jī)原理課件_第5頁(yè)
已閱讀5頁(yè),還剩246頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第一章緒論1.1微型計(jì)算機(jī)發(fā)展概況1.2微型計(jì)算機(jī)系統(tǒng)1.3相關(guān)術(shù)語(yǔ)1.4計(jì)算機(jī)數(shù)據(jù)格式1.5小結(jié)1.1微型計(jì)算機(jī)發(fā)展概況世界上第一臺(tái)現(xiàn)代意義的電子計(jì)算機(jī)是1946年美國(guó)賓夕法尼亞大學(xué)設(shè)計(jì)制造的“ENIAC”占地上百平方米重量幾十噸功耗幾十千瓦這臺(tái)計(jì)算機(jī)有五個(gè)基本部件:輸入器、輸出器、運(yùn)算器、存儲(chǔ)器和控制器,奠定了當(dāng)代電子數(shù)字計(jì)算機(jī)體系結(jié)構(gòu)的基礎(chǔ)。電子計(jì)算機(jī)的發(fā)展:第一代:電子管計(jì)算機(jī)(1946-1956)第二代:晶體管計(jì)算機(jī)(1957-1964)第三代:中小規(guī)模集成電路計(jì)算機(jī)(1965-1970)第四代:超大規(guī)模集成電路計(jì)算機(jī)(1971-今)微機(jī)第五代:人工智能計(jì)算機(jī)(探索)——量子、光子、分子和納米計(jì)算機(jī)特點(diǎn):超高速、超小型、智能有感知、思考、判斷、學(xué)習(xí)和自然語(yǔ)言能力當(dāng)今主導(dǎo)網(wǎng)絡(luò)時(shí)代的四大定律:1.摩爾定律

集成電路內(nèi)芯片的晶體管數(shù)目,每隔18~24個(gè)月翻一番。2.貝爾定律

性能相同的計(jì)算機(jī)價(jià)格將持續(xù)下降。3.吉爾德定律

網(wǎng)絡(luò)的帶寬每6個(gè)月翻一番。

4.麥特卡夫定律對(duì)網(wǎng)絡(luò)的投入為N,則可收到N2的回報(bào)。計(jì)算機(jī)的分類(lèi)(綜合性能)1.微機(jī):?jiǎn)斡脩?hù),也可執(zhí)行幾個(gè)用戶(hù)指令-PC機(jī)/NB2.小型機(jī):同時(shí)執(zhí)行數(shù)百用戶(hù)的指令-學(xué)校、中小企業(yè)服務(wù)器3.大型機(jī):同時(shí)執(zhí)行數(shù)萬(wàn)用戶(hù)的指令-大型網(wǎng)站服務(wù)器4.巨型機(jī):同時(shí)執(zhí)行數(shù)百萬(wàn)用戶(hù)的指令-國(guó)家新聞中心、國(guó)防、軍事目前性能最好的計(jì)算機(jī):日本:富士通超級(jí)計(jì)算機(jī)“K”8.16千萬(wàn)億次/秒中國(guó):“天河一號(hào)”,峰值速度4.7千萬(wàn)億次/秒持續(xù)速度2.57千萬(wàn)億次/秒美國(guó):“美洲虎XT5”,1.759千萬(wàn)億次/秒微處理器發(fā)展概況

第一代:4、8位機(jī)Intel公司4004

1971年第二代:8位Intel公司80801974年第三代:16位機(jī)Intel公司80861978年第四代:32位機(jī)Intel公司80386/486

1983年第五代:64位機(jī)PENTIUM1993年

PII(97)、PIII(99)、P4(2000)、安騰(2001)、安騰2(2002)、奔騰M(2003)、Core(2006)注:INTEL微處理器的發(fā)展見(jiàn)教材P5:表1-1微處理器的發(fā)展8038680486奔騰安騰802868086酷睿酷睿i74004發(fā)展特點(diǎn):

主頻↑指令執(zhí)行速度↑集成度↑流水線(xiàn)級(jí)數(shù)↑編程越來(lái)越方便1.2微型計(jì)算機(jī)系統(tǒng)一、計(jì)算機(jī)基本結(jié)構(gòu)馮.諾依曼原理:存儲(chǔ)程序,程序控制控制器輸出設(shè)備

CPU

存儲(chǔ)器運(yùn)算器ALU輸入設(shè)備馮.諾依曼計(jì)算機(jī)的工作原理:“存儲(chǔ)程序”+“程序控制”以二進(jìn)制表示數(shù)據(jù)和指令(程序)先將程序存入存儲(chǔ)器中,再由控制器自動(dòng)讀取并執(zhí)行計(jì)算機(jī)之父:約翰·馮·諾依曼(JohnVonNouma,1903-1957),美藉匈牙利人,世界著名數(shù)學(xué)家,最大貢獻(xiàn)是對(duì)計(jì)算機(jī)科學(xué)、計(jì)算機(jī)技術(shù)和數(shù)值分析的開(kāi)拓性工作。

微型計(jì)算機(jī)系統(tǒng)的三個(gè)層次:微處理器(Microprocessor)

微型計(jì)算機(jī)(Microcomputer)微型計(jì)算機(jī)系統(tǒng)(MicrocomputerSystem)二、微型計(jì)算機(jī)系統(tǒng)的組成微處理器微型計(jì)算機(jī)顯卡CPU電源主板光驅(qū)散熱器硬盤(pán)內(nèi)存微型計(jì)算機(jī)系統(tǒng)

微型計(jì)算機(jī)系統(tǒng)組成微處理器存儲(chǔ)器I/O接口總線(xiàn)硬件系統(tǒng)軟件系統(tǒng)微型計(jì)算機(jī)系統(tǒng)微型計(jì)算機(jī)外設(shè)ALU寄存器控制器鍵盤(pán)、鼠標(biāo)顯示器軟驅(qū)、硬盤(pán)、光驅(qū)打印機(jī)、掃描儀系統(tǒng)軟件應(yīng)用軟件三、微型計(jì)算機(jī)的組成存儲(chǔ)器CPUI/O接口地址總線(xiàn)AB數(shù)據(jù)總線(xiàn)DB控制總線(xiàn)CBI/O設(shè)備I/O總線(xiàn)控制微機(jī)組成框圖1、CPU(也稱(chēng)微處理器、中央處理器)計(jì)算機(jī)的控制中心,提供運(yùn)算、判斷能力構(gòu)成:運(yùn)算器:完成算術(shù)、邏輯運(yùn)算控制器:協(xié)調(diào)整機(jī)工作寄存器組:暫存數(shù)據(jù)等例:Intel8086、PIII、P4CPU的位數(shù):4位、8位、16位、32位、64位是指一次能處理的二進(jìn)制數(shù)據(jù)的位數(shù)2、存儲(chǔ)器存放程序和數(shù)據(jù)的記憶裝置內(nèi)存:ROM、RAM特點(diǎn):隨機(jī)存取,速度快,容量小外存:磁盤(pán)、光盤(pán)、半導(dǎo)體盤(pán)、……特點(diǎn):順序存取/塊存取,速度慢,容量大內(nèi)存操作:讀:將內(nèi)存單元的內(nèi)容取入CPU,原單元內(nèi)容不改變;寫(xiě):CPU將信息放入內(nèi)存單元,單元中原內(nèi)容被覆蓋;3、I/O接口(輸入/輸出接口)CPU與外部設(shè)備間的橋梁。CPUI/O接口外設(shè)主要接口芯片:鎖存器74LS373;緩沖器74LS245;可編程中斷控制器8259A;可編程計(jì)數(shù)/定時(shí)器8253;可編程并行接口8255A;A/D,D/A等。4、總線(xiàn)

計(jì)算機(jī)系統(tǒng)中各部件之間傳送信息的公共通道。總線(xiàn)標(biāo)準(zhǔn)的特性:(有4個(gè)特性)物理特性;功能特性;電氣特性;時(shí)間特性總線(xiàn)分類(lèi):(從不同層次看有4類(lèi))內(nèi)部總線(xiàn);元件級(jí)總線(xiàn);系統(tǒng)總線(xiàn);外部總線(xiàn)總線(xiàn)結(jié)構(gòu)(有3種)單總線(xiàn)結(jié)構(gòu);面向CPU的雙總線(xiàn)結(jié)構(gòu);面向主存儲(chǔ)器的雙總線(xiàn)結(jié)構(gòu)2)元件級(jí)總線(xiàn)CPU和存儲(chǔ)器、I/O接口之間傳遞信息的通路。根據(jù)傳送信息的類(lèi)型不同分為三種:地址總線(xiàn)AB:傳送CPU輸出的地址信號(hào),確定被訪(fǎng)問(wèn)的存儲(chǔ)單元、I/O端口。地址線(xiàn)的根數(shù)決定了CPU的尋址范圍。CPU的尋址范圍=2n

,n-地址線(xiàn)根數(shù)8086CPU尋址范圍=

220

=1MB數(shù)據(jù)總線(xiàn)DB:決定CPU一次最多傳送數(shù)據(jù)寬度??刂瓶偩€(xiàn)CB:用來(lái)傳送各種控制信號(hào)1)內(nèi)部總線(xiàn)

CPU內(nèi)部各個(gè)部件之間傳遞信息的通路??偩€(xiàn)分類(lèi)3)系統(tǒng)總線(xiàn)微機(jī)機(jī)箱內(nèi)的底板總線(xiàn),用來(lái)連接各個(gè)插件板,包括:

<1>ISA總線(xiàn):工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)總線(xiàn),16位

<2>EISA總線(xiàn):擴(kuò)展工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)總線(xiàn),32位

<3>VESA總線(xiàn):視頻電子標(biāo)準(zhǔn)協(xié)會(huì)總線(xiàn),32位

<4>PCI總線(xiàn):外設(shè)互連局部總線(xiàn),32/64位<5>PCI-E總線(xiàn):最新的總線(xiàn)和接口標(biāo)準(zhǔn)

<6>

AGP總線(xiàn):加速圖形接口總線(xiàn)總線(xiàn)分類(lèi)4)外部總線(xiàn)用于微機(jī)系統(tǒng)與系統(tǒng)之間,系統(tǒng)與外部設(shè)備之間的信息通路。并行:IEEE-488并行標(biāo)準(zhǔn)串行:RS232、485,USB,IEEE-1394標(biāo)準(zhǔn)總線(xiàn)分類(lèi)總線(xiàn)結(jié)構(gòu)(3種)①單總線(xiàn)結(jié)構(gòu):系統(tǒng)的內(nèi)部存儲(chǔ)器和I/O接口均掛在單總線(xiàn)上。隨機(jī)存儲(chǔ)器I/O設(shè)備地址總線(xiàn)AB數(shù)據(jù)總線(xiàn)DB控制總線(xiàn)CBCPU微處理器只讀存儲(chǔ)器I/O接口I/O設(shè)備優(yōu)點(diǎn):控制簡(jiǎn)單、易于擴(kuò)充;缺點(diǎn):總線(xiàn)只能分時(shí)工作,數(shù)據(jù)傳輸量受限??偩€(xiàn)結(jié)構(gòu)②面向CPU的雙總線(xiàn)結(jié)構(gòu):它是在CPU和主存儲(chǔ)器之間,CPU與I/O設(shè)備之間分別設(shè)置一組總線(xiàn)。

I/O接口輸入/輸出(I/O)總線(xiàn)存儲(chǔ)總線(xiàn)CPU主存儲(chǔ)器I/O接口I/O接口I/O設(shè)備1I/O設(shè)備2I/O設(shè)備n優(yōu)點(diǎn):提高了數(shù)據(jù)傳送的效率;缺點(diǎn):主存和外設(shè)之間必須通過(guò)CPU進(jìn)行信息的交換,降低了CPU的工作效率??偩€(xiàn)結(jié)構(gòu)③面向主存儲(chǔ)器的雙總線(xiàn)結(jié)構(gòu):它結(jié)合了以上兩種總線(xiàn)結(jié)構(gòu)的特點(diǎn),所有的部件和設(shè)備均掛到總線(xiàn)上。

I/O接口輸入/輸出(I/O)總線(xiàn)存儲(chǔ)總線(xiàn)CPU主存儲(chǔ)器I/O接口I/O設(shè)備1I/O設(shè)備n優(yōu)點(diǎn):提高了信息的傳送效率,同時(shí)也不會(huì)降低CPU的工作效率,是一種較好的總線(xiàn)結(jié)構(gòu)。

總線(xiàn)結(jié)構(gòu)1、主頻:指CPU的時(shí)鐘頻率,與運(yùn)行速度有關(guān);2、字長(zhǎng):能夠直接處理的二進(jìn)制數(shù)的位數(shù);3、內(nèi)存容量:存儲(chǔ)器能存儲(chǔ)信息的字節(jié)數(shù);4、存取周期:主存儲(chǔ)器完成一次讀寫(xiě)所需要的時(shí)間5、運(yùn)算速度:是指微機(jī)每秒所能執(zhí)行的指令條數(shù)。四、微機(jī)的性能指標(biāo)1.3相關(guān)術(shù)語(yǔ)

位、字節(jié)、字和字長(zhǎng)、位編號(hào)、內(nèi)存單元的地址和內(nèi)容、內(nèi)存容量及常用單位、內(nèi)存中字?jǐn)?shù)據(jù)的存儲(chǔ)格式一、位二、字節(jié)三、字和字長(zhǎng)字長(zhǎng):CPU一次能夠處理的二進(jìn)制數(shù)據(jù)的位數(shù)、64位四、位編號(hào)五、內(nèi)存單元的地址和內(nèi)容地址:內(nèi)存單元唯一的編號(hào)內(nèi)容:內(nèi)存單元存儲(chǔ)的數(shù)據(jù)項(xiàng)1011011038F04H內(nèi)存單元地址內(nèi)存單元內(nèi)容......76543210六、內(nèi)存容量及常用單位內(nèi)存容量:內(nèi)存單元的個(gè)數(shù)(或存儲(chǔ)的信息量)通常:512MB、1GB、2GB

常用單位:位(bit)-b字節(jié)(Byte)-B字(Word)-W

KBMBGB轉(zhuǎn)換關(guān)系:b:一位二進(jìn)制數(shù)字1B=8b1W=2B1KB=1024B1MB=1024KB1GB=1024MB一個(gè)字(16位)由兩個(gè)字節(jié)的數(shù)據(jù)來(lái)組成。它在存儲(chǔ)器中的存儲(chǔ)格式通常有:小地址格式:低字節(jié)總是存儲(chǔ)在低地址單元中,高字節(jié)存儲(chǔ)在高地址單元中。這在Intel家族的CPU中采用。大地址格式:低字節(jié)存儲(chǔ)在高地址中,高字節(jié)存儲(chǔ)在低地址中。這在Motorola家族的CPU中使用。七、內(nèi)存中字?jǐn)?shù)據(jù)的存儲(chǔ)格式

例如:1234H以不同格式的存儲(chǔ)時(shí)的情況。2FFFH3000H3001H3002H3003H3412小地址格式1234大地址格式2FFFH3000H3001H3002H3003H1.4計(jì)算機(jī)數(shù)據(jù)格式為了表示方便,使用后綴表明數(shù)的進(jìn)制十進(jìn)制,后綴D或省略—符合人們習(xí)慣例:17.34二進(jìn)制,后綴B—便于物理實(shí)現(xiàn)例:1101.1010B十六進(jìn)制,后綴H—便于識(shí)別書(shū)寫(xiě)例:3A.B2H八進(jìn)制,后綴Q或O

例:625.71Q1.4.1

數(shù)制一、常用數(shù)制1、十進(jìn)制特點(diǎn):以10為基數(shù),逢10進(jìn)一;共有0-9十個(gè)數(shù)字符號(hào)表示:例:267.852、二進(jìn)制特點(diǎn):以2為基數(shù),逢2進(jìn)一;只有0和1兩個(gè)符號(hào)。表示:例:1101.1B1101.1B3、十六進(jìn)制特點(diǎn):以16為基數(shù),逢16進(jìn)一;有0--9及A--F共16個(gè)數(shù)字符號(hào)。表示:例:1A.8H1、非十進(jìn)制數(shù)到十進(jìn)制數(shù)的轉(zhuǎn)換每位數(shù)字與其對(duì)應(yīng)的權(quán)值相乘,再按十進(jìn)制求和即:按權(quán)展開(kāi),再按十進(jìn)制求和例:將1110.101B轉(zhuǎn)換為十進(jìn)制數(shù)碼1

1

10.101權(quán)值

23222120.2-12-22-3數(shù)值8+4+2+0+0.5+0+0.125=14.625二、各進(jìn)制數(shù)間的轉(zhuǎn)換2.十進(jìn)制到非十進(jìn)制數(shù)的轉(zhuǎn)換整數(shù)部分:除以基數(shù),取余,至商為0;最先得最低位小數(shù)部分:乘以基數(shù),取整;至小數(shù)為0,最先得高位以小數(shù)點(diǎn)為起點(diǎn)求得整數(shù)和小數(shù)的各個(gè)位。例:將18.125轉(zhuǎn)換為二進(jìn)制數(shù)。18余數(shù)=029

=124

=022

=0218=10010B1

=1200.125整數(shù)=00.2522

=00.50.125=0.001B21.0

=1結(jié)果18.125=10010.001B3、二進(jìn)制與十六進(jìn)制間的轉(zhuǎn)換用4位二進(jìn)制數(shù)表示1位十六進(jìn)制數(shù) 例:10110001001.110=(?)H

0101

1000

1001.1100

589.C

注意:位數(shù)不夠時(shí)要補(bǔ)0F111115701117E111014601106D110113501015C110012401004B101111300113A101010200102910019100011810008000000十六進(jìn)制二進(jìn)制十進(jìn)制十六進(jìn)制二進(jìn)制十進(jìn)制表1-3二進(jìn)制編碼十六進(jìn)制BCH碼n位二進(jìn)制數(shù)均用于表示數(shù)值本身大小。一個(gè)n位的無(wú)符號(hào)二進(jìn)制數(shù)X,其表示范圍為:

0≤

X≤2n-1

若運(yùn)算結(jié)果超出這個(gè)范圍,則產(chǎn)生溢出。如:n=8

則:0≤X≤28-1即:0≤X≤255

1.4.2

計(jì)算機(jī)中數(shù)據(jù)編碼一、無(wú)符號(hào)數(shù)在計(jì)算機(jī)中的表示把二進(jìn)制數(shù)的最高位定義為符號(hào)位

符號(hào)位為0

表示正數(shù),符號(hào)位為1表示負(fù)數(shù)連同符號(hào)位一起數(shù)值化了的數(shù),稱(chēng)為機(jī)器數(shù)。機(jī)器數(shù)所表示的真實(shí)的數(shù)值,稱(chēng)為真值。

(以下均以8位二進(jìn)制數(shù)為例)二、有符號(hào)數(shù)在計(jì)算機(jī)中的表示例:設(shè)字長(zhǎng)n=8

+18=+10010B

-18=-10010B真值機(jī)器數(shù)符號(hào)位

數(shù)值位0

0010010B1

0010010B注:機(jī)器數(shù)包括兩方面的含義

1)符號(hào)數(shù)值化

2)位數(shù)等于字長(zhǎng)1、機(jī)器數(shù)常用的表示方法有三種:

原碼、反碼和補(bǔ)碼。數(shù)X的原碼記作[X]原數(shù)X的反碼記作[X]反數(shù)X的補(bǔ)碼記作[X]補(bǔ)

注:對(duì)正數(shù),三種表示法均相同。它們的差別在于對(duì)負(fù)數(shù)的表示。三、機(jī)器數(shù)的表示方法原碼[X]原的定義對(duì)于二進(jìn)制數(shù),最高位是符號(hào)位,其余各位表示數(shù)值本身,則稱(chēng)為該二進(jìn)制數(shù)的原碼。符號(hào)位:0表示正,1表示負(fù);數(shù)值位:真值的絕對(duì)值。真值X=+18=+10010BX=-18=-10010B原碼[X]原

=00010010B[X]原

=10010010B符號(hào)符號(hào)位n位原碼表示數(shù)值的范圍是:反碼[X]反定義正數(shù)的反碼與其原碼相同;負(fù)數(shù)的反碼,對(duì)應(yīng)原碼的符號(hào)位不變,數(shù)值部分按位求反。即:若X>0,則[X]反=[X]原若X<0,則[X]反=對(duì)應(yīng)原碼的符號(hào)位不變,數(shù)值部分按位求反真值X=+18=+10010BX=-18=-10010B反碼

=00010010B

=11101101B符號(hào)位[X]反[X]反n位反碼表示數(shù)值的范圍是:

補(bǔ)碼[X]補(bǔ)定義正數(shù)的補(bǔ)碼表示與其原碼相同;負(fù)數(shù)的補(bǔ)碼則為它的反碼加一。即:若X>0,則[X]補(bǔ)=[X]反=[X]原若X<0,則[X]補(bǔ)=[X]反+1例:X=-52=-110100B

[X]原=10110100B[X]反=11001011B[X]補(bǔ)=[X]反+1=11001100Bn位補(bǔ)碼表示數(shù)值的范圍是:2、數(shù)0的表示方法[+0]原=00000000B[-0]原=10000000B[+0]反=00000000B[-0]反=11111111B[+0]補(bǔ)=00000000B[-0]補(bǔ)=[-0]反+1=100000000B數(shù)0的原碼不唯一。數(shù)0的反碼不唯一。數(shù)0的補(bǔ)碼唯一。對(duì)8位字長(zhǎng),進(jìn)位被舍掉3、特殊數(shù)10000000B

同一個(gè)數(shù)在不同的碼制中表示的真值不同在原碼中定義為:-0在反碼中定義為:-127在補(bǔ)碼中定義為:-128對(duì)無(wú)符號(hào)數(shù):10000000B

=1284、8位二進(jìn)制數(shù)的表示范圍無(wú)符號(hào)數(shù):0~255原碼:-127~+127反碼:-127~+127補(bǔ)碼:-128~+1275、補(bǔ)碼加減法的運(yùn)算規(guī)則通過(guò)引進(jìn)補(bǔ)碼,可將減法轉(zhuǎn)換為加法運(yùn)算。規(guī)則如下:[X+Y]補(bǔ)=[X]補(bǔ)+[Y]補(bǔ)[X-Y]補(bǔ)=[X]補(bǔ)+[-Y]補(bǔ)

[X]原=[[X]補(bǔ)]補(bǔ)其中X,Y為正負(fù)數(shù)均可,只要符號(hào)位參與運(yùn)算就能自動(dòng)得到正確的結(jié)果。例:將一個(gè)用補(bǔ)碼表示的二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)。

1)[X]補(bǔ)=00101110B

正數(shù)

所以:真值為+0101110B

X=+462)[X]補(bǔ)=11010010B

負(fù)數(shù)

[X]原=[[X]補(bǔ)]補(bǔ)=[11010010]補(bǔ)=10101110B所以:X=-0101110B

=-

46溢出:運(yùn)算結(jié)果超出運(yùn)算器所能表示的范圍。1.4.3

溢出判斷一、無(wú)符號(hào)數(shù)運(yùn)算溢出判斷溢出判別方法:當(dāng)最高位向更高位有進(jìn)位(或借位)時(shí)則產(chǎn)生溢出。方法1:異號(hào)相加—不會(huì)溢出。同號(hào)相加—可能溢出:同號(hào)相加時(shí),結(jié)果符號(hào)與加數(shù)符號(hào)相反則溢出;方法2:雙高位判別法兩個(gè)帶符號(hào)二進(jìn)制數(shù)相加或相減時(shí),若

C7

C6=1則結(jié)果產(chǎn)生溢出。C7為最高位的進(jìn)(借)位;C6為次高位的進(jìn)(借)位。二、有符號(hào)數(shù)運(yùn)算溢出判斷例:有符號(hào)數(shù)運(yùn)算,有溢出表示結(jié)果是錯(cuò)誤的無(wú)符號(hào)數(shù)運(yùn)算,有進(jìn)位表示結(jié)果是錯(cuò)誤的

01000010

+0110001110100101

10110101

+10001111

101000100

01000010

+11001101100001111CASE1:CASE2:CASE3:分兩種情況討論:無(wú)符號(hào)數(shù)有符號(hào)數(shù)用4位二進(jìn)制數(shù)編碼表示一位十進(jìn)制數(shù)。1.4.4BCD碼和ASCII碼一、BCD碼111170111111060110110150101110040100101130011ABCDEF10102001091001100018100000000十進(jìn)制數(shù)BCD編碼十進(jìn)制數(shù)BCD編碼這六種情況在BCD碼中不允許出現(xiàn)8421-BCD編碼表BCD編碼分兩種:壓縮BCD碼和非壓縮BCD碼。壓縮BCD碼:一個(gè)字節(jié)表示兩位十進(jìn)制數(shù);

例:12=00010010BCD非壓縮BCD碼:用一個(gè)字節(jié)表示一位十進(jìn)制數(shù),高4位總是0000;

例:12=0000000100000010BCD注意:BCD碼不是將十進(jìn)制數(shù)整體轉(zhuǎn)換成二進(jìn)制數(shù)計(jì)算機(jī)中除了能夠處理數(shù)值數(shù)據(jù)以外,還可以處理文字、語(yǔ)音、圖像等各種信息,這些信息統(tǒng)稱(chēng)為非數(shù)值數(shù)據(jù)。非數(shù)值數(shù)據(jù)在計(jì)算機(jī)中也必須以二進(jìn)制形式表示——最常見(jiàn)的是ASCII碼。見(jiàn)下頁(yè)ASCII編碼表,教材中的附錄C掌握常用字符的ASCII碼。二、ASCII碼(美國(guó)標(biāo)準(zhǔn)信息交換代碼)1-5小結(jié)1、微機(jī)發(fā)展概況(了解)2、微機(jī)系統(tǒng)/微機(jī)/微處理器聯(lián)系與區(qū)別(理解)3、微型計(jì)算機(jī)的組成及框圖4、計(jì)算機(jī)中的一些相關(guān)術(shù)語(yǔ);5、常用數(shù)制及其相互間的轉(zhuǎn)換;6、機(jī)器數(shù)表示:原碼、反碼、補(bǔ)碼的表示及求法;7、8位二進(jìn)制數(shù)的表示范圍;8、溢出判斷;9、BCD編碼及常用字符的ASCII碼;重點(diǎn)掌握作業(yè)教材P202、9(1)、11(1)、13(1)補(bǔ)充若n=6,寫(xiě)出下列各數(shù)的原碼、反碼、補(bǔ)碼

+10101B、+11111B、+10000B-10101B、-11111B、-10000BISAPCIVESA多功能卡PCI-EAGP2.18086CPU結(jié)構(gòu)一、Intel8086CPU主要特性數(shù)據(jù)總線(xiàn):16位 地址總線(xiàn):20位

內(nèi)存空間:CPU可直接尋址1MB內(nèi)存空間端口地址線(xiàn):16位時(shí)鐘頻率:5MHz、8MHz、10MHz工作模式:?jiǎn)翁幚砥鞴ぷ髂J?、多處理器工作模?/p>

流水線(xiàn)工作方式:取指令、執(zhí)行指令并行進(jìn)行兼容性:與8080、8085兼容二、8086CPU的內(nèi)部結(jié)構(gòu)8086CPU內(nèi)部按功能可分為兩部分:1、BIU(總線(xiàn)接口部件)功能:地址形成、取指令、指令排隊(duì)、讀/寫(xiě)操作數(shù)、總線(xiàn)控制2、EU(執(zhí)行部件)功能:指令譯碼、指令執(zhí)行組成部件見(jiàn)下頁(yè)圖(教材P23圖2-1)8086CPU的內(nèi)部組成

執(zhí)行單元(EU)總線(xiàn)接口單元(BIU)①總線(xiàn)控制邏輯②指令指針寄存器IP③段寄存器④地址加法器⑤指令隊(duì)列緩沖器1、BIU執(zhí)行單元(EU)總線(xiàn)接口單元(BIU)①算術(shù)邏輯單元(ALU)②EU控制電路③寄存器組2、EU8086CPU的內(nèi)部組成

8086EUBIUBUS取指1忙取指2忙執(zhí)指1取指3忙執(zhí)指2取指4忙執(zhí)指3取指5忙執(zhí)指4ttt執(zhí)指5忙3、8086的內(nèi)部結(jié)構(gòu)特點(diǎn):指令的提取與執(zhí)行分別由BIU和EU兩部件完成,二者既獨(dú)立又相互配合——

并行工作。工作過(guò)程動(dòng)畫(huà)演示寄存器:用于存放運(yùn)算過(guò)程中所需要操作數(shù)地址、操作數(shù)及中間結(jié)果;特點(diǎn):在CPU內(nèi)部;存取速度比存儲(chǔ)器快得多;容量??;8086CPU內(nèi)部有4組16位寄存器(P24圖2-2)。三、寄存器結(jié)構(gòu)目的變址寄存器

DestinationIndexSIDIBPSPAX

累加器

AccumulatorBX基數(shù)寄存器BaseCX計(jì)數(shù)寄存器CountDX數(shù)據(jù)寄存器DataAHBHCHDHALBLCLDLIPPSWDSESSSCS數(shù)據(jù)段寄存器DataSegment附加段寄存器ExtraSegment堆棧段寄存器StackSegment代碼段寄存器CodeSegment狀態(tài)標(biāo)志寄存器ProgramStatusWord指令指針寄存器InstructionPointer變址寄存器段寄存器控制寄存器通用寄存器源變址寄存器

SourceIndex基址指針寄存器

BasePointer堆棧指針寄存器

StackPointer指針寄存器數(shù)據(jù)寄存器8086CPU

寄存器組1、通用寄存器組常用來(lái)存放參與運(yùn)算的操作數(shù)或運(yùn)算結(jié)果特殊用途見(jiàn)P26表2-12、指針和變址寄存器可作通用寄存器,存放一般操作數(shù)或運(yùn)算結(jié)果作指針和變址寄存器,用于存放某段地址偏移量3、段寄存器用于存放邏輯段的段基地址4、指令指針和標(biāo)志位寄存器

IP存放下一條指令在現(xiàn)行代碼段中的偏移地址

PSW用來(lái)存放運(yùn)算結(jié)果的特征,常用作后續(xù)條件轉(zhuǎn)移指令的轉(zhuǎn)移控制條件。狀態(tài)標(biāo)志:存放運(yùn)算結(jié)果的特征6個(gè)狀態(tài)標(biāo)志位(CF,PF,AF,ZF,SF,OF)控制標(biāo)志:控制某些特殊操作3個(gè)控制標(biāo)志位(TF,IF,DF)標(biāo)志位寄存器PSW具體格式:CF(進(jìn)位標(biāo)志):保存加法的進(jìn)位和減法的借位,有進(jìn)位或借位時(shí)CF=1,否則CF=0PF(奇偶標(biāo)志):表示計(jì)算結(jié)果低8位‘1’的個(gè)數(shù)是奇數(shù)還是偶數(shù).偶數(shù)個(gè)PF=1,否則,PF=0AF(輔助進(jìn)位):保存加法或減法結(jié)果第4、5位之間的進(jìn)位或借位。有則AF=1,否則,AF=0狀態(tài)標(biāo)志位的名稱(chēng)和定義如下:ZF(零標(biāo)志):表示運(yùn)算結(jié)果是否為零,為零則ZF=1SF(符號(hào)標(biāo)志):保存運(yùn)算結(jié)果的算術(shù)符號(hào)。SF=1,表示本次運(yùn)算結(jié)果的最高位(第8位或第16位)為“1”,否則SF=0。OF(溢出標(biāo)志):溢出是在兩個(gè)帶符號(hào)數(shù)相加、減時(shí)可能產(chǎn)生的。溢出則OF=1,否則OF=0

對(duì)無(wú)符號(hào)數(shù)操作則不用考慮溢出標(biāo)志。例:P28例2.2例2.2

將5394H與-777FH兩數(shù)相加,并說(shuō)明標(biāo)志位狀態(tài):解:設(shè)X=5394H,Y=-777FH,由:[X+Y]補(bǔ)=[X]補(bǔ)+[Y]補(bǔ)[X]補(bǔ)=0101001110010100B[Y]補(bǔ)=[1111011101111111B]補(bǔ)=1000100010000001B0101001110010100B+1000100010000001B1101110000010101B[X+Y]原=

[[X+Y]補(bǔ)]補(bǔ)=[[X]補(bǔ)+[Y]補(bǔ)]補(bǔ)=1010001111101011B所以:X+Y=-010001111101011B=-23EBH標(biāo)志位:CF=0,PF=0,AF=0,ZF=0,SF=1,OF=0TF(單步標(biāo)志):T=1可使微處理器進(jìn)入跟蹤方式,即單步調(diào)試狀態(tài)。IF(中斷允許標(biāo)志):用來(lái)控制CPU是否能夠響應(yīng)可屏蔽中斷。IF=1表示允許CPU響應(yīng)可屏蔽中斷。DF(方向標(biāo)志):在串操作指令中,通過(guò)D可選擇對(duì)DI/SI寄存器的內(nèi)容進(jìn)行遞增或遞減方式.D=1,寄存器內(nèi)容自動(dòng)遞減;D=0,則相反??刂茦?biāo)志位的名稱(chēng)和定義如下:2.28086CPU的引腳及其功能1、8086CPU芯片:40引腳、雙列直插式封裝、由于工藝限制,部分引腳采用分時(shí)復(fù)用技術(shù);2、8086CPU有兩種工作模式:最小模式:只有8086CPU一個(gè)處理器(單機(jī)系統(tǒng))最大模式:有兩個(gè)或多個(gè)微處理器,系統(tǒng)中所需要的控制信號(hào)由總線(xiàn)控制器8288提供(多機(jī)系統(tǒng))一、概述1、P29圖2-38086CPU外部引腳P29-P32各引腳定義二、8086CPU在最小模式中的引腳定義2、外部引腳信號(hào)小結(jié)地址/數(shù)據(jù)線(xiàn)(20)

A19/S6~A16/S3,AD15~AD0

特點(diǎn):分時(shí)復(fù)用T1:地址有效,T2~T4:數(shù)據(jù)或狀態(tài)有效電源、地線(xiàn)(3)“/”:兩邊信號(hào)電平一樣,表示分時(shí)復(fù)用控制信號(hào)線(xiàn)(17)(1)系統(tǒng)控制線(xiàn)(CPU輸出)(7)

M/IO#、ALE、BHE#、RD#、WR#、DT/R#、DEN#(2)CPU控制信號(hào)(輸入CPU)(5)

RESET、CLK、READY、TEST#、MN/MX#(3)中斷處理信號(hào)(3)

NMI、INTR、INTA#(4)總線(xiàn)保持信號(hào)(DMA方式)(2)

HOLD、HLDA“/”:兩邊電平不同,表示電平不同作用不同“-”:表示低電平有效;這里用”#”代替三、8088與8086CPU的不同之處1.8088CPU指令隊(duì)列長(zhǎng)度是4個(gè)字節(jié);(見(jiàn)P34)2.

BIU的總線(xiàn)控制電路與外部交換數(shù)據(jù)的總線(xiàn)寬度是8位;與專(zhuān)用寄存器組之間的DB寬度也是8位;3.8088的外部數(shù)據(jù)總線(xiàn)只有8位;4.8088中,用IO/M#信號(hào)代替M/IO#信號(hào)線(xiàn);(28腳)5.8088中,BHE#(34腳)信號(hào)線(xiàn)改為SS0#2.38086存儲(chǔ)器組織1、存儲(chǔ)器地址的分段管理存儲(chǔ)器的要求:以字節(jié)為單位存儲(chǔ)信息,每個(gè)存儲(chǔ)單元有唯一的地址。分段管理的原因:8086系統(tǒng)有20根地址線(xiàn)可尋址1MB內(nèi)存空間,即需要20位的物理地址,但CPU內(nèi)部寄存器只有16位(只能尋址64K字節(jié))。為擴(kuò)大尋址范圍,所以采取存儲(chǔ)器的分段管理。一、存儲(chǔ)器地址分段方法:

1MB的存儲(chǔ)器空間分成許多邏輯空間,每一個(gè)邏輯空間是存儲(chǔ)器中可獨(dú)立尋址的一個(gè)邏輯單位,稱(chēng)邏輯段,每個(gè)段的長(zhǎng)度最大64K字節(jié)。分段管理的特點(diǎn):①起始點(diǎn)可浮動(dòng);②可分開(kāi)或重疊;③實(shí)際地址由段地址、段內(nèi)偏移地址組成;④段首地址必須能被16整除2、物理地址的形成邏輯地址:存儲(chǔ)器的任一個(gè)邏輯地址由段基址和偏移地址組成,程序設(shè)計(jì)時(shí)采用。物理地址:存儲(chǔ)器的絕對(duì)地址,從00000~FFFFFH,它是由邏輯地址變換而來(lái)。即:物理地址=段基址×16+偏移地址。放在段寄存器中的地址(CS、DS、ES、SS)從段地址開(kāi)始的相對(duì)偏移位置(放在指令指針寄存器IP、16位通用寄存器中)物理地址的實(shí)現(xiàn):用BIU中的地址加法器來(lái)實(shí)現(xiàn)邏輯地址到物理地址的轉(zhuǎn)換;CPU訪(fǎng)問(wèn)內(nèi)存時(shí),段寄存器的內(nèi)容(段基址)自動(dòng)左移4位(二進(jìn)制),與段內(nèi)16位地址偏移量相加,形成20位的物理地址;過(guò)程如右圖所示:

0000段基址16位偏移地址16位地址加法器物理地址20位3、邏輯地址的來(lái)源訪(fǎng)問(wèn)存儲(chǔ)器的操作類(lèi)型不同,BIU所使用的邏輯地址來(lái)源也不同。(邏輯地址的來(lái)源如下表所示)CS、SS、ESCS、SS、ES段寄存器與其他寄存器組合尋址存儲(chǔ)單元的示意圖段基址CS偏移地址IP段基址DS或ESSI,DI或BX段基址SSSP或BP代碼段數(shù)據(jù)段堆棧段有邏輯地址DS:DI=1000H:2000H,求物理地址物理地址為:DS×16+DI=1000H×10H+2000H=12000H已知物理地址12345H,寫(xiě)出兩組邏輯地址

1000H:2345H1234H:0005H1001H:2335H

等等例1:已知CS=1055H,DS=250AH,ES=2EF0H,SS=8FF0H,數(shù)據(jù)段有一操作數(shù),其偏移地址=0204H,

1)畫(huà)出各段在內(nèi)存中的分布

2)指出各段首地址

3)該操作數(shù)的物理地址=?10550H250A0H2EF00H8FF00HCSSSCSDSES解:各段分布及段首址見(jiàn)右圖所示;操作數(shù)的物理地址為:250AH×10H+0204H=252A4H例2:1、分體結(jié)構(gòu)的概念8086系統(tǒng)中,1MB的存儲(chǔ)器空間分成兩個(gè)存儲(chǔ)體:偶地址和奇地址存儲(chǔ)體,各512KB,示意圖如下:二、8086存儲(chǔ)器的分體結(jié)構(gòu)A18~A0A18~A0偶地址存儲(chǔ)體與8086數(shù)據(jù)線(xiàn)低8位相連,由A0控制奇地址存儲(chǔ)體與數(shù)據(jù)線(xiàn)高8位相連,由BHE#控制A0、BHE#功能組合如下表所示:2、分體結(jié)構(gòu)的讀寫(xiě)操作數(shù)據(jù)的存儲(chǔ)與表示:字節(jié)數(shù)據(jù):一個(gè)字節(jié)存儲(chǔ)一個(gè)單元;如存儲(chǔ)單元00100H中的內(nèi)容為34H,可表示為:(00100H)=34H字?jǐn)?shù)據(jù):一個(gè)字存于相鄰兩個(gè)單元(小地址格式);如:(00100H)=1234H;(00103H)=0152H一個(gè)字可以從偶地址開(kāi)始存放(稱(chēng)規(guī)則字),也可以從奇地址開(kāi)始存放(稱(chēng)非規(guī)則字)。8086CPU訪(fǎng)問(wèn)存儲(chǔ)器時(shí),總是以字為單位進(jìn)行,并從偶地址開(kāi)始。

讀存儲(chǔ)器示意圖如下:(P39如圖2-12)332211001000000(a)從偶地址開(kāi)始讀一個(gè)字節(jié)33221100100001110001(b)從奇地址開(kāi)始讀一個(gè)字節(jié)3322110010000100022233(c)從偶地址開(kāi)始讀一個(gè)字3322110010000100012211(d)從奇地址開(kāi)始讀一個(gè)字若字單元地址從奇地址開(kāi)始,讀寫(xiě)一個(gè)字需訪(fǎng)問(wèn)兩次存儲(chǔ)器若字單元地址從偶地址開(kāi)始,讀寫(xiě)一個(gè)字只需訪(fǎng)問(wèn)一次存儲(chǔ)器1、堆棧:內(nèi)存中按LIFO方式操作的特殊存儲(chǔ)區(qū)域2、特點(diǎn):用于中斷或子程序調(diào)用,存放返回地址、過(guò)程參數(shù)等需要暫時(shí)保護(hù)的數(shù)據(jù)專(zhuān)用指令PUSH,POP每次壓棧和出棧均以WORD為單位SS存放堆棧段基址,SP存放段內(nèi)偏移地址,

SS:SP構(gòu)成了堆棧指針CPU自動(dòng)管理SP的變化三、堆棧的概念3、堆棧操作入棧:執(zhí)行PUSH指令,CPU自動(dòng)修改指針SP-2→SP,使SP指向新棧頂;然后將低位數(shù)據(jù)壓入(SP)單元,高位數(shù)據(jù)壓入(SP+1)單元。出棧:當(dāng)執(zhí)行POP指令時(shí),CPU先將當(dāng)前棧頂SP(低位數(shù)據(jù))和SP+1(高位數(shù)據(jù))中的內(nèi)容彈出,然后再自動(dòng)修改指針,使SP+2→SP,SP指向新棧頂。

【注意】:先進(jìn)入的內(nèi)容要后彈出,PUSH和POP指令要成對(duì)。例:假如當(dāng)前SS=C000H,堆棧段<64K,SP=1000H,指出當(dāng)前棧頂在存儲(chǔ)器中的位置。若AX=3322H,BX=1100H,CX=6655H,執(zhí)行指令PUSHAX,PUSHBX,再執(zhí)行指令POPCX,此時(shí)堆棧中內(nèi)容發(fā)生什么變化,AX,BX,CX中的內(nèi)容是什么?P40例2.3、例2.4解:(1)棧頂位置,即棧頂?shù)奈锢淼刂窞椋?/p>

SS*10H+SP=C000H*10H+1000H=C1000H(2)執(zhí)行過(guò)程及變化如下圖所示:2233AX0011BX5566CX(a)初始狀態(tài)棧底C0000C1000←SP

向上增長(zhǎng)33221100C0FFESP

→(b)執(zhí)行PUSHAX,PUSHBXC0000C10002233PUSHAX0011PUSHBX5566CX(c)再執(zhí)行POPCX33221100C0000C1000SP→2233AX0011BX0011POPCX堆棧指令執(zhí)行過(guò)程動(dòng)畫(huà)演示作業(yè)

教材P55

1、6、9(2)、10(4)11(4)、12、132.48086系統(tǒng)配置1、系統(tǒng)配置方式最小模式(CPU的管腳MN/MX#接高電平+5V)最大模式(CPU的管腳MN/MX#接低電平或地)2、系統(tǒng)配置特點(diǎn)最小模式是單機(jī)系統(tǒng)。系統(tǒng)中所需要的控制信號(hào)全部由8086CPU本身直接提供。最大模式可構(gòu)成多處理機(jī)系統(tǒng),系統(tǒng)中所需要的控制信號(hào)由總線(xiàn)控制器8288提供。3、CPU的24~31引腳意義不同一、簡(jiǎn)述

以8086CPU構(gòu)成的最小模式的基本配置,除了存儲(chǔ)器、I/O接口芯片外,還要加入:1片8284A,作為時(shí)鐘發(fā)生器3片8282/8283或74LS373,作為地址鎖存器

解決引腳分時(shí)復(fù)用問(wèn)題2片8286

/8287或74LS245,作為雙向數(shù)據(jù)總線(xiàn)收發(fā)器

增強(qiáng)CPU總線(xiàn)驅(qū)動(dòng)能力二、最小模式系統(tǒng)具有三態(tài)緩沖功能的8位數(shù)據(jù)鎖存器;8282的輸入和輸出信號(hào)同相(8283反相)。1、地址鎖存器8282/8283三態(tài)8位雙向數(shù)據(jù)收發(fā)器,可增加驅(qū)動(dòng)能力;8286數(shù)據(jù)輸入與輸出同相(8287反相)。2、雙向數(shù)據(jù)總線(xiàn)收發(fā)器8286/8287產(chǎn)生CLK信號(hào),做CPU內(nèi)部和外部的時(shí)間基準(zhǔn)信號(hào)3、時(shí)鐘發(fā)生器8284自學(xué)4、8086CPU構(gòu)成的最小模式的典型配置2.58086CPU時(shí)序想要了解指令的執(zhí)行過(guò)程,除了了解CPU內(nèi)部結(jié)構(gòu)外,還必須了解CPU時(shí)序。一、基本概念1、時(shí)序?yàn)閷?shí)現(xiàn)某個(gè)操作,芯片上的引腳信號(hào)在時(shí)鐘信號(hào)(從CLK接入)的統(tǒng)一控制下,按一定的時(shí)間順序發(fā)出有效信號(hào),這個(gè)時(shí)間順序就是時(shí)序。2、時(shí)序圖描述某一操作過(guò)程中芯片/總線(xiàn)上有關(guān)引腳信號(hào)隨時(shí)間發(fā)生變化的關(guān)系圖,即時(shí)序圖。3、時(shí)鐘周期TCPU的基本定時(shí)單位;時(shí)鐘頻率的倒數(shù);也稱(chēng)T狀態(tài)。T=1/f8086f=5MHZT=200ns4、總線(xiàn)周期BIU完成一次訪(fǎng)問(wèn)存儲(chǔ)器或I/O端口操作所需要的時(shí)間;由若干個(gè)T組成;8086的基本總線(xiàn)周期至少由4個(gè)T組成。5、指令周期(instructioncycle)

8086執(zhí)行一條指令所需的時(shí)間,一般由若干個(gè)總線(xiàn)周期組成。二、典型時(shí)序圖1、典型總線(xiàn)周期時(shí)序圖

在8086/8088CPU中,每個(gè)總線(xiàn)周期至少包含4個(gè)時(shí)鐘周期(T1~T4),一般情況下,在總線(xiàn)周期的T1狀態(tài)傳送地址,T2~T4狀態(tài)傳送數(shù)據(jù)。8086CPU通過(guò)RESET引腳的觸發(fā)信號(hào)引起系統(tǒng)復(fù)位和啟動(dòng),RESET信號(hào)至少維持4個(gè)時(shí)鐘周期的高電平。下表(P50表2.13)是復(fù)位時(shí)各內(nèi)部寄存器的值。2、系統(tǒng)的復(fù)位和啟動(dòng)在復(fù)位后CS為FFFFH,IP為0000H,CPU從內(nèi)存的FFFF0H處開(kāi)始執(zhí)行指令。因此在FFFF0H處放一條無(wú)條件轉(zhuǎn)移指令,這樣系統(tǒng)啟動(dòng)后就自動(dòng)進(jìn)入系統(tǒng)程序。圖2.23給出復(fù)位操作時(shí)的時(shí)序。3、讀總線(xiàn)周期(動(dòng)畫(huà))最小模式下的總線(xiàn)操作4、寫(xiě)總線(xiàn)周期(動(dòng)畫(huà))最小模式下的總線(xiàn)操作2.6小結(jié)掌握:EU、BIU的功能;寄存器結(jié)構(gòu);各標(biāo)志位的名稱(chēng)和含義;存儲(chǔ)器的分段管理技術(shù);堆棧的概念和操作過(guò)程理解:存儲(chǔ)器的分體結(jié)構(gòu);8086CPU在最小模式中的引腳定義8086CPU最小模式系統(tǒng)配置8086CPU時(shí)序的基本概念及典型時(shí)序圖3.0概述指令:控制計(jì)算機(jī)完成指定操作的命令機(jī)器指令:指令的二進(jìn)制代碼形式例如:CD21H匯編指令:助記符形式的指令例如:INT21H一、計(jì)算機(jī)中的指令操作碼[操作數(shù)],[操作數(shù)]說(shuō)明要執(zhí)行的是什么操作操作對(duì)象,可以有0個(gè)、1個(gè)或2個(gè)目的源二、指令的基本構(gòu)成指令舉例:ADDAX,[SI]MOVAX,1000H操作碼INCBXHLT操作數(shù)操作數(shù)位置(EU執(zhí)行指令時(shí)):EU寄存器、BIU指令隊(duì)列、存儲(chǔ)器、I/O端口不同位置操作數(shù)的指令執(zhí)行速度不同:操作數(shù)在寄存器中指令執(zhí)行速度快立即數(shù)尋址指令執(zhí)行速度較快操作數(shù)在存儲(chǔ)器或I/O端口中指令執(zhí)行速度較慢

尋址方式:指令中說(shuō)明操作數(shù)所在地址(位置)的方法三、操作數(shù)存放位置稱(chēng)為:立即數(shù)3.18086的尋址方式1、特點(diǎn):操作數(shù)是立即數(shù)(即8位或16位的常數(shù)),直接包含在指令中。下面以MOV指令的源操作數(shù)為例,說(shuō)明8086的各種尋址方式一、立即尋址方式例:MOVCX,2A50H解:將立即數(shù)2A50H送到CX寄存器中。操作碼502A2A50CHCLCXMOVCX,2A50H2、注意事項(xiàng):立即數(shù)不能作目的操作數(shù)如:MOV26H,AL×以字母開(kāi)頭的立即數(shù)出現(xiàn)在指令中時(shí),前面加“0”

如:MOVAX,0ABC1H長(zhǎng)度要一致如:MOVAL,0ABC1H×1、特點(diǎn):

操作數(shù)存放在指令指定的CPU內(nèi)部寄存器中。2、常用寄存器:16位操作數(shù):AX、BX、CX、DX、SI、DI、SP、BP等。8位操作數(shù):AH、AL、BH、BL、CH、CL、DH、DL。二、寄存器尋址方式例:MOVDX,AX解:AX內(nèi)容送到DX中。(AX內(nèi)容不變)例:MOVBL,AL

3、注意事項(xiàng):源操作數(shù)與目的操作數(shù)長(zhǎng)度要一致寄存器尋址與段地址無(wú)關(guān)×MOVAX,BL;長(zhǎng)度不同×MOVES:AX,DX;寄存器與段無(wú)關(guān)2A502A50AHALDHDLDXAX

MOVDX,AX第三至第七種尋址方式:1)操作數(shù)均位于存儲(chǔ)器中,內(nèi)存操作數(shù)書(shū)寫(xiě)時(shí)均要加[];2)CPU需找出操作數(shù)的物理地址;3)存儲(chǔ)器操作數(shù)物理地址邏輯地址段基址:偏移地址默認(rèn)規(guī)則指令中給出有效地址EA:PC機(jī)中操作數(shù)的偏移地址1、特點(diǎn):操作數(shù)在存儲(chǔ)單元中;有效地址EA由指令直接給出EU執(zhí)行時(shí):先求出操作數(shù)的物理地址,再?gòu)拇鎯?chǔ)器中取操作數(shù)。通常默認(rèn)的段寄存器是DS;操作數(shù)的物理地址=DS*10H+EA三、直接尋址方式例:MOVAL,[2000H]解:設(shè)DS=3000H;(32000H)=1234H

由指令得:EA=2000H物理地址=16×3000H+2000H=32000H則:指令執(zhí)行后AL=34H注:如用AX替代AL,則AX=1234H

如用AH替代AL,則AH=34H3、注意事項(xiàng):可用段超越前綴修改默認(rèn)段如:MOVAX,ES:[2000H]

物理地址=ES×10H+2000H可使用符號(hào)地址如:VALDW1234H,5678HMOVAX,VAL

等價(jià)于MOVAX,[VAL]

指令執(zhí)行后:AX=1234H四、寄存器間接尋址特點(diǎn):存儲(chǔ)器操作數(shù)的有效地址由寄存器給出??捎玫募拇嫫鳎築X、BP、SI、DIBX、SI、DI默認(rèn)段為DS段物理地址=DS*10H+BX(或SI、DI)BP默認(rèn)段為SS段物理地址=SS*10H+BP例:MOVAX,[BX]設(shè):DS=2000H,BX=1064H,(21064H)=2010HDS200020000+0106421064BX1064指令區(qū)操作碼操作碼

地址增長(zhǎng)方向數(shù)據(jù)區(qū)210642106510202010AX注意:[]中只能使用BX、BP、SI、DI

如:MOVCX,[AX]×

可用段超越前綴修改默認(rèn)段如:MOVAX,ES:[BX]

物理地址=ES×10H+BX五、寄存器相對(duì)尋址特點(diǎn):存儲(chǔ)器操作數(shù)的有效地址是基址或變址寄存器的內(nèi)容與8位或16位位移量(Disp)之和。即:+BXBPSIDI8disp16dispEA=操作數(shù)的物理地址=16×DS+BX/SI/DI+disp

或=16×SS+BP+disp例:MOVAX,[BP+1234H]若BP=1000H,SS=2000H,(22234H)=2010H程序區(qū)操作碼Disp-L34DispH12地址增長(zhǎng)方向SS2000BP1000200001000+123422234AX2010AHAL堆棧區(qū)22234H22235H

1020六、基址加變址尋址方式特點(diǎn):操作數(shù)的有效地址是一個(gè)基址寄存器(BX、BP)與一個(gè)變址寄存器(SI、DI)內(nèi)容之和。即:操作數(shù)的物理地址=16×DS+BX+SI/DI

或=16×SS+BP+SI/DIBXBPSIDIEA=+例:MOVAX,[BX][SI]MOVAX,[BX+SI]MOVAX,DS:[BP][DI]注意:同一組內(nèi)的寄存器不能同時(shí)出現(xiàn)在一個(gè)[]。錯(cuò)誤例:×

MOVAX,[BX+BP]×MOVAX,[DI+SI]七、相對(duì)的基址加變址尋址方式特點(diǎn):操作數(shù)的有效地址是一個(gè)基址寄存器(BX、BP)與一個(gè)變址寄存器(SI、DI)內(nèi)容,再加上8位或16位位移量之和。即:操作數(shù)的物理地址=16×DS+BX+SI/DI+8/16位disp

或=16×SS+BP+SI/DI+8/16位dispEA=BXBP+SIDI8位

disp16位

disp+例:MOVAX,MASK[BX][SI]或:MOVBX,[MASK+BX+SI]設(shè):DS=2000H,SI=0300H,BX=1500H,MASK=0200H,(21A00H)=26BFH則:物理地址=16×DS

SI

+BX

MASK=20000H+0300H+1500H+0200H=21A00H所以:指令執(zhí)行后,AX=26BFH帶方括號(hào)的地址表達(dá)式必須遵循下列規(guī)則:1、立即數(shù)可以出現(xiàn)在方括號(hào)內(nèi),表示直接地址,如[2000H]。2、只有BX、BP、SI、DI可出現(xiàn)在[]內(nèi),可單獨(dú)出現(xiàn),也可相加,或與常數(shù)相加,但:BX和BP寄存器、SI和DI寄存器不允許出現(xiàn)在同一個(gè)[]內(nèi)。存儲(chǔ)器操作數(shù)尋址方式特點(diǎn):3、方括號(hào)表示相加,下面幾種寫(xiě)法等價(jià):

6[BX][SI];[BX+6][SI];[BX+SI+6]4、不同寄存器對(duì)應(yīng)不同的隱含段基址:

SS:BP;

DS:BX,SI,DI;▲可用段超越前綴修改段基址。1、隱含尋址:指令中不指明操作數(shù),但有隱含規(guī)定的尋址方式。如:指令DAA;對(duì)寄存器AL中的數(shù)據(jù)進(jìn)行十進(jìn)制數(shù)調(diào)整,結(jié)果仍保留在AL中。2、一條指令有多種尋址方式:源操作數(shù)和目的操作數(shù)同樣適用上述尋址方法。3、I/O端口尋址

(后面討論)4、轉(zhuǎn)移類(lèi)指令尋址(后面討論)八、其它說(shuō)明指令:控制計(jì)算機(jī)完成指定操作的命令;指令系統(tǒng):CPU所有指令及其使用規(guī)則的集合;8086的指令系統(tǒng)包含133條基本指令(92種),按功能可以分為6類(lèi):數(shù)據(jù)傳送指令算術(shù)運(yùn)算指令邏輯運(yùn)算與移位指令字符串處理指令控制轉(zhuǎn)移指令處理器控制指令掌握:常用指令的格式、功能、注意事項(xiàng)及簡(jiǎn)單應(yīng)用縮寫(xiě)與符號(hào)意義oprsrcdstAcADDRCOUNTDATAMEMMEM/REGPORTREGSEG

BA(X)操作數(shù)源操作數(shù)目的操作數(shù)累加器。8位用AL,16位用AX地址。常用標(biāo)號(hào)來(lái)表示計(jì)數(shù)。1或CL的內(nèi)容立即數(shù)。8位/16位存儲(chǔ)器操作數(shù)存儲(chǔ)器或寄存器操作數(shù)I/O端口,端口號(hào):00H~FFH寄存器操作數(shù),通用寄存器段寄存器相互交換以A代替B(X)的內(nèi)容常用縮寫(xiě)與符號(hào)說(shuō)明一、數(shù)據(jù)傳送指令二、算術(shù)運(yùn)算指令三、邏輯運(yùn)算與移位指令四、控制轉(zhuǎn)移指令五、字符串處理指令六、處理器控制指令3.38086的指令系統(tǒng)共14條,P71表3-3,除SAHF/POPF均不影響PSW一、數(shù)據(jù)傳送指令出棧,并送入標(biāo)志寄存器POPF輸出OUT標(biāo)志寄存器入棧指令PUSHF輸入INAH內(nèi)容裝入標(biāo)志寄存器低字節(jié)SAHF輸入輸出指令標(biāo)志寄存器低字節(jié)裝入AHLAHF表轉(zhuǎn)換XLAT標(biāo)志傳送指令交換字或字節(jié)XCHG裝入附加段寄存器LES出棧指令POP裝入數(shù)據(jù)段寄存器LDS入棧指令PUSH裝入有效地址LEA字節(jié)或字傳送MOV地址目標(biāo)傳送指令通用數(shù)據(jù)傳送指令掌握:MOV、PUSH、POP、XCHG、XLAT、IN、OUT、LEA、LDS、LES1、最基本的傳送指令MOV格式:MOV目的,源功能:將源操作數(shù)(字或字節(jié))傳送到目的操作數(shù)傳送途徑:例:MOVCX,6080H

MOVAX,CX

MOV[1234H],AX通用REGAXAHBXALCXBHDXBLSICHDICLSPDHBPDL段寄存器CS,DS,ES,SS立即數(shù)存儲(chǔ)器注意:opr不能為IP立即數(shù)和CS不能作dst不允許mem←mem不允許seg←seg不允許seg←立即數(shù)至少要有一個(gè)opr明確說(shuō)明傳送的是字節(jié)還是字;用AX作橋梁如:MOVAX,SSMOVDS,AX如:MOVAX,IP(×)MOVCS,AX(×)最基本的傳送指令MOV(續(xù))如:MOV[100H],12H(×)MOVWORDPTR[100H],12H√PUSH指令格式:PUSH源功能:將源操作數(shù)壓入堆棧過(guò)程:SP新←SP原-2,(SP新+1,SP新)←源POP指令格式:POP目的功能:將堆棧中數(shù)據(jù)彈出至目的操作數(shù)過(guò)程:目的←(SP原+1,SP原),SP新←SP原+2;2、堆棧操作指令PUSH、POPPUSH、POP指令實(shí)例注意:堆棧操作按字進(jìn)行,SP自動(dòng)增減量(-2,+2)PUSH和POP指令要成對(duì),先進(jìn)后出的操作方式。CS內(nèi)容可壓棧,但不能彈出一個(gè)字到CS中。PUSHCS(√)、POPCS(×)立即數(shù)不能做堆棧指令的操作數(shù)PUSH100H(×)、POP100H(×)堆棧操作指令PUSH、POP(續(xù))格式:XCHG目的,源功能:源操作數(shù)、目的操作數(shù)交換數(shù)據(jù)例:XCHGAX,[BX+200H]設(shè)AX=2000H,DS=3000H,BX=1800H,(31A00H)=1995H,則指令執(zhí)行后,結(jié)果如何?解:把內(nèi)存中的一個(gè)字與AX中的內(nèi)容進(jìn)行交換。

src物理地址=3000×10H+1800H+200H=31A00H,指令執(zhí)行后:AX=1995H,(31A00H)=2000H3、交換指令XCHG思考:上例中若執(zhí)行XCHGAH,[BX+200H],結(jié)果如何?結(jié)果:AH=95H,(31A00H)=20H注意:兩操作數(shù)中必須有一個(gè)在寄存器中。源和目地操作數(shù)長(zhǎng)度要一致。格式:XLAT轉(zhuǎn)換表

或:XLAT

功能:使累加器(AL)中的一個(gè)值變換為內(nèi)存表格中的某一個(gè)值,一般用來(lái)實(shí)現(xiàn)代碼轉(zhuǎn)換,即查表功能。XLAT指令使用步驟:先在內(nèi)存中建一個(gè)表格,內(nèi)容是所需要轉(zhuǎn)換的代碼;將轉(zhuǎn)換表的起始偏移地址裝入BX寄存器;欲查的某項(xiàng)與表頭地址的位移量放入AL,即表格最多包含256個(gè)字節(jié);執(zhí)行XLAT指令后,查到轉(zhuǎn)換后的代碼值在AL寄存器中。4、查表指令XLAT執(zhí)行過(guò)程:將BX的內(nèi)容(代表數(shù)據(jù)表的首地址)和AL的內(nèi)容(要查的數(shù)據(jù)與表首的距離)相加作為有效地址,然后從中讀出此地址單元的內(nèi)容送入AL。XLAT等效為:

MOVAH,00H

ADDBX,AX

MOVAL,[BX]

ASCII碼表首址存入BXDS200002000:1000303132333435數(shù)據(jù)區(qū)...MOVBX,1000HMOVAL,3XLAT程序區(qū)D7CS:IP

20000

+03100021003

21003例1:用XLAT查3的ASCII碼AX03BX1000DS200033例2:若十進(jìn)制數(shù)字0~9的LED七段碼對(duì)照表如下表所示,試用XLAT指令求數(shù)字5的七段碼值。十進(jìn)制數(shù)字七段顯示碼十進(jìn)制數(shù)字七段顯示碼040H512H179H602H224H778H330H800H419H918H十進(jìn)制數(shù)的七段顯示碼表程序片斷如下:

TABLEDB40H,79H,24H,30H,19H

DB12H,02H,78H,00H,18H

;七段數(shù)碼表數(shù)據(jù)分別對(duì)應(yīng)0~9的七段字型碼

……………

MOV AL,5

;AL

數(shù)字5的位移量

MOV BX,OFFSETTABLE

;BX

表格首地址

XLATTABLE

;查表得:AL=12H七段LED顯示器的工作原理和接口電路dpgfedcbaabcdefgDPDPgfedcba陰極DPgfedcba陽(yáng)極數(shù)字【5】00010010補(bǔ)充格式:INAC,地址;OUT地址,AC功能:完成I/O端口和累加器(AX、AL)之間的數(shù)據(jù)傳送。兩種尋址方式:(根據(jù)地址給出的方式不同)直接端口尋址當(dāng)端口號(hào)小于FFH(255)時(shí),直接給出間接端口尋址端口號(hào)大于FFH(255)時(shí),必須放在DX中給出5、輸入輸出指令I(lǐng)N、OUT例:INAL,80HINAX,82HMOVDX,3FFHINAL,DXINAX,DX例:OUT80H,AL

OUT82H,AXMOVDX,3FFHOUTDX,ALOUTDX,AX注意:AC是指AL或AX。當(dāng)端口地址大于255(FFH)時(shí),必須放在DX中。

如:INBX,21H(×)INAL,123H(×)INAL,BX(×)INAL,DX(√)格式1:LEAREG,MEM功能:取源操作數(shù)的地址偏移量,送到目的操作數(shù)例:LEAAX,[DI+10H];若DI=2000H,格式2:LEAREG,變量名例:LEABX,TABLE等價(jià):MOVBX,OFFSETTABLE6、取有效地址指令LEA地址目標(biāo)傳送指令則AX=2010H注意:源操作數(shù)必須是一個(gè)存儲(chǔ)器操作數(shù);

LEAAX,BX(×)目的操作數(shù)須是16位通用寄存器。

LEADS,[1000H](×)使用時(shí)要注意與MOV指令的區(qū)別例:SI=1000H,DS=5000H,(51000H)=1234H則:LEABX,[SI];MOVBX,[SI];BX=1000HBX=1234H格式:LDSREG,MEM功能:從源操作數(shù)指定的存儲(chǔ)單元中取出兩個(gè)字?jǐn)?shù)據(jù),第一個(gè)字送入REG,第二個(gè)字送入DS寄存器中例:LDSSI,[0450H]

設(shè)DS=1200H,(12450H)=F346H,(12452H)=0A90H則指令執(zhí)行后,結(jié)果如何?

SI=F346H

DS=0A90H7、地址指針裝入DS指令LDS地址目標(biāo)傳送指令注意:源操作數(shù)必須是一個(gè)存儲(chǔ)器操作數(shù);

LDSAX,BX(×)目的操作數(shù)須是16位通用寄存器(常用SI)。

LDSES,[1000H](×)8、地址指針裝入ES指令LES地址目標(biāo)傳送指令目的操作數(shù)常用DI寄存器,其他同LDS例:LESDI,[0450H]作業(yè)

教材P121

6、7、8一、數(shù)據(jù)傳送指令二、算術(shù)運(yùn)算指令三、邏輯運(yùn)算與移位指令四、控制轉(zhuǎn)移指令五、字符串處理指令六、處理器控制指令3.38086的指令系統(tǒng)算術(shù)運(yùn)算指令可處理4種類(lèi)型的數(shù):無(wú)符號(hào)二進(jìn)制整數(shù)帶符號(hào)二進(jìn)制整數(shù)無(wú)符號(hào)壓縮十進(jìn)制整數(shù)(PackedDecimal)無(wú)符號(hào)非壓縮十進(jìn)制整數(shù)(UnpackedDecimal)

一個(gè)8位二進(jìn)制數(shù)看成4種不同類(lèi)型的數(shù),所表示的真值亦不同。二、算術(shù)運(yùn)算指令指令見(jiàn)P79表3.6,絕大部分都會(huì)影響狀態(tài)標(biāo)志位掌握:加法指令、減法指令自學(xué):乘法指令、除法指令二進(jìn)制碼(B)十六進(jìn)制(H)無(wú)符號(hào)二進(jìn)制(D)帶符號(hào)二進(jìn)制(D)非壓縮十進(jìn)制壓縮十進(jìn)制00000111077+77071000100189137-119無(wú)效8911000101C5197-59無(wú)效無(wú)效4種類(lèi)型數(shù)的表示方法⑴ADD加法指令(Addition)格式:ADD目的,源功能:目的

源十目的例:ADDAL,30H

;AL←AL+30H⑵ADC帶進(jìn)位的加法指令(AdditionwithCarry)格式:ADC目的,源功能:目的

源十目的十CF

主要用于多字節(jié)加法;例:ADCAL,30H

;AL←AL+30H+CF1、加法指令注意:ADD(ADC)指令對(duì)6個(gè)狀態(tài)標(biāo)志均產(chǎn)生影響。例:用加法指令對(duì)兩個(gè)16進(jìn)制數(shù)5EH和3CH求和,并分析加法運(yùn)算指令執(zhí)行后對(duì)標(biāo)志位的影響。解:MOVAL,5EH;AL=5EH(94)

MOVBL,3CH;BL=3CH(60)

ADDAL,BL;結(jié)果AL=9AH討論ADD對(duì)標(biāo)志位的影響:▲兩個(gè)數(shù)的

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論