微型計(jì)算機(jī)原理 教學(xué)全案



《微型計(jì)算機(jī)原理 教學(xué)全案》由會(huì)員分享,可在線閱讀,更多相關(guān)《微型計(jì)算機(jī)原理 教學(xué)全案(314頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、單擊此處編輯母版標(biāo)題樣式,,單擊此處編輯母版文本樣式,,第二級(jí),,第三級(jí),,第四級(jí),,第五級(jí),,,*,?微型計(jì)算機(jī)原理?,,開(kāi)設(shè)的根本目的:,,計(jì)算機(jī)工作原理是電類(lèi)專(zhuān)業(yè)學(xué)生知識(shí)結(jié)構(gòu)的重要組成局部,相關(guān)知識(shí)對(duì)后續(xù)課程、日常生活和工作、開(kāi)展畢業(yè)設(shè)計(jì)和碩博課題等各個(gè)方面都可能有不同程度的作用。學(xué)習(xí)目標(biāo):,,掌握微型計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)組成、實(shí)現(xiàn)機(jī)理、工作原理;,,掌握匯編語(yǔ)言程序設(shè)計(jì)的初步方法和調(diào)試過(guò)程;,,建立微型計(jì)算機(jī)系統(tǒng)整體概念,具備利用微機(jī)進(jìn)行硬件和軟件開(kāi)發(fā)的初步能力。,,課程特點(diǎn):抽象、難理解、乏味!雖然對(duì)象是具體的。,,課時(shí)安排:共48學(xué)時(shí),授課40學(xué)時(shí),上機(jī)實(shí)驗(yàn)8學(xué)時(shí)。,,要求:加強(qiáng)理解,
2、把相關(guān)知識(shí)具體化而不要抽象化。,,第一章 微型計(jì)算機(jī)根本原理,1-1 概述,,1、電子數(shù)字計(jì)算機(jī)概念,,目前通常所說(shuō)的計(jì)算機(jī)是指電子數(shù)字計(jì)算機(jī) 。,,電子技術(shù)實(shí)現(xiàn)、數(shù)字化信息處理方式、高度復(fù)雜的邏輯電子電路。信息以二進(jìn)制形式〔邏輯電平形式〕表示;自動(dòng)地進(jìn)行信息處理。,,2、計(jì)算機(jī)分類(lèi),,按信息處理方式:數(shù)字計(jì)算機(jī)和模擬計(jì)算機(jī)。,,模擬計(jì)算機(jī)由于受元器件質(zhì)量影響,其計(jì)算精度較低,目前已很少生產(chǎn)。,,,,按用途:通用計(jì)算機(jī)和專(zhuān)用計(jì)算機(jī)。,,專(zhuān)用計(jì)算機(jī)針對(duì)某用途專(zhuān)門(mén)設(shè)計(jì)。,,按規(guī)模、速度〔沒(méi)有一個(gè)統(tǒng)一的標(biāo)準(zhǔn),1989年IEEE(電氣與電子工程師協(xié)會(huì))提出一種分類(lèi)〕,,巨型計(jì)算機(jī)或超級(jí)計(jì)算機(jī)(Supe
3、rcomputer),,小巨型計(jì)算機(jī)(Minisupercomputer),,大型主機(jī)(Mainframe),,小型計(jì)算機(jī)(Minicomputer〕,,工作站(Work Station),,個(gè)人計(jì)算機(jī)(Personal Computer—PC),,,,3、計(jì)算機(jī)開(kāi)展簡(jiǎn)史,,1〕機(jī)械計(jì)算機(jī)的誕生1614 年:蘇格蘭人John Napier創(chuàng)造了一種可以進(jìn)行四那么運(yùn)算和方根運(yùn)算的精巧裝置。,,……,,1890年:Herman Hollerith 設(shè)計(jì)了用于美國(guó)人口普查的機(jī)器。結(jié)果僅用6周就得出了準(zhǔn)確的人口統(tǒng)計(jì)數(shù)據(jù)(如果用人工方法,大概要花10年時(shí)間)。,,2〕電子計(jì)算機(jī)時(shí)代,,1906 年:
4、美國(guó)人Lee De Forest 創(chuàng)造電子管,為電子計(jì)算機(jī)的開(kāi)展奠定了根底。,,……,,1946 年: 第一臺(tái)真正意義上的數(shù)字電子計(jì)算機(jī)〔ENIAC〕由美國(guó)賓夕法尼亞大學(xué)研制成功。,,重達(dá)數(shù)噸,占據(jù)幾間房間,需要多個(gè)操作員來(lái)維持它們正常工作。,,非常昂貴,以至于只有政府和大型機(jī)構(gòu)才能夠買(mǎi)得起。,,當(dāng)時(shí)的人們認(rèn)為幾臺(tái)或者幾十臺(tái)這樣的機(jī)器就能夠滿足全世界的需求了。,,,在此期間,馮.諾伊曼〔VON.NEUMANM〕也研制出一臺(tái)被認(rèn)為是現(xiàn)代計(jì)算機(jī)原型的通用電子計(jì)算機(jī)。,,根據(jù)使用電子器件的不同,電子計(jì)算機(jī)經(jīng)歷了四個(gè)階段:,,電子管計(jì)算機(jī),,(1946—1956),,晶體管計(jì)算機(jī),,(1957—196
5、4),,,集成電路計(jì)算機(jī),,(1965—1970),,,,超大規(guī)模集成,,電路計(jì)算機(jī),,(1971—至今),,,用機(jī)器語(yǔ)言、匯編語(yǔ)言編寫(xiě)程序,,用于軍事和國(guó)防尖端技術(shù),,開(kāi)始使用高級(jí)語(yǔ)言,,開(kāi)始用于工程技術(shù)、數(shù)據(jù)處理和,,其它科學(xué)領(lǐng)域,,采用微程序、流水線等技術(shù),提高 運(yùn)行速度,,出現(xiàn)操作系統(tǒng)、診斷程序等軟件,,采用半導(dǎo)體存儲(chǔ)器,,采用圖形界面操作系統(tǒng),,器件速度更快,,,軟件、外設(shè)更加豐富,,微型計(jì)算機(jī)是第四代計(jì)算機(jī)時(shí)期出現(xiàn)的一種。,,自從1981年IBM公司進(jìn)入微型計(jì)算機(jī)領(lǐng)域推出了IBM-PC以后,計(jì)算機(jī)的開(kāi)展開(kāi)創(chuàng)了一個(gè)新的時(shí)代—微型計(jì)算機(jī)時(shí)代。微型計(jì)算機(jī)的迅速、大規(guī)模的應(yīng)用與普及
6、,使計(jì)算機(jī)真正廣泛地應(yīng)用于工業(yè)、農(nóng)業(yè)、科學(xué)技術(shù)以及社會(huì)生活與日常生活的各個(gè)方面。以前的大型機(jī)、中型機(jī)、小型機(jī)的界線巳經(jīng)日益模糊與消失。隨著微型計(jì)算機(jī)應(yīng)用的普及和開(kāi)展,芯片與微型機(jī)的功能和性能迅速提高,其功能已經(jīng)遠(yuǎn)遠(yuǎn)超過(guò)了20世紀(jì)80 年代以前的小型機(jī)、中型機(jī),甚至超過(guò)了大型機(jī)。,,當(dāng)前微型計(jì)算機(jī)運(yùn)算速度一般為20—30億次/秒;,,世界最快的計(jì)算機(jī)速度為280萬(wàn)億次/秒;,,中國(guó)最快的計(jì)算機(jī)為上海超級(jí)計(jì)算機(jī)中心的“曙光4000A〞,8萬(wàn)億次/秒,世界排名第31位。,,4、計(jì)算機(jī)的特點(diǎn),,處理速度快,,運(yùn)算精度高,,存儲(chǔ)記憶能力強(qiáng),,自動(dòng)執(zhí)行任務(wù)功能,,人機(jī)交互功能,,,,5、計(jì)算機(jī)的應(yīng)用,,數(shù)
7、值計(jì)算: 根本功能,但此功能應(yīng)用逐漸縮?。?,信息處理:數(shù)據(jù)庫(kù),管理信息系統(tǒng),辦公自動(dòng)化系統(tǒng);目前世界約80%的計(jì)算機(jī)用于信息處理;,,控制、自動(dòng)化:過(guò)程控制,生產(chǎn)自動(dòng)化,,輔助分析、設(shè)計(jì):CAD,CAM,CAI,,仿真計(jì)算,,網(wǎng)絡(luò)應(yīng)用,,人工智能:模式識(shí)別、神經(jīng)網(wǎng)絡(luò)、專(zhuān)家系統(tǒng)、機(jī)器人等,,6、計(jì)算機(jī)開(kāi)展方向,,當(dāng)前模式的電子計(jì)算機(jī)開(kāi)展趨勢(shì)是朝微型化和巨型化兩方面開(kāi)展。,,功能開(kāi)展,,多媒體計(jì)算機(jī):更好地支持多媒體技術(shù),音頻、視頻數(shù)據(jù)壓縮、解壓縮技術(shù),多媒體數(shù)據(jù)的通信。,,計(jì)算機(jī)智能化:具有推理、聯(lián)想、學(xué)習(xí)等思維功能和模式識(shí)別功能。,,網(wǎng)絡(luò)計(jì)算機(jī):全面支持網(wǎng)絡(luò)功能。,,,,新型計(jì)算機(jī)的研究:,
8、,,神經(jīng)網(wǎng)絡(luò)計(jì)算機(jī),:從內(nèi)部結(jié)構(gòu)模擬人腦神經(jīng)系統(tǒng)。,,,生物計(jì)算機(jī),:使用蛋白分子為材料的生物芯片。,,,光學(xué)計(jì)算機(jī),:用光子代替電子,用光連接代替金屬導(dǎo)線連接,運(yùn)算速度快千倍。,,7、個(gè)人計(jì)算機(jī)的構(gòu)成,,,中央處理器CPU、主板、內(nèi)存、硬盤(pán)、顯卡、顯示器、鍵盤(pán)等,,1-2 微型計(jì)算機(jī)系統(tǒng)的組成,,1、組成局部,運(yùn)算器ALU寄存器,,控制器,,系統(tǒng)軟件:DOS、Windows,,應(yīng)用軟件: Word、Excel、Visual C++,中央處 理 器 CPU,,存儲(chǔ)器,,I/O接口,,總線,硬 件,,,,,,,軟 件,微 型,,計(jì)算機(jī),,系 統(tǒng),微 型,,計(jì)算機(jī),,(主機(jī)),,,,
9、外 設(shè),鍵盤(pán)、鼠標(biāo),,顯示器,,軟驅(qū)、硬盤(pán)、光驅(qū),,打印機(jī)、掃描儀,,2、中央處理器,中央處理器CPU〔Central Processing Unit〕具有運(yùn)算和控制功能,是整個(gè)微型計(jì)算機(jī)的核心,也稱(chēng)微處理器。,,微處理器的主要功能部件有,,〔1〕運(yùn)算器,也稱(chēng)算術(shù)邏輯部件〔ALU〕:用來(lái)進(jìn)行算術(shù)和邏輯運(yùn)算。,,〔2〕控制器:整個(gè)系統(tǒng)的指揮控制部件,從內(nèi)存中取出指令、翻譯指令并操控運(yùn)算器及其它部件完成相應(yīng)操作。,,〔3〕存放器:包括程序計(jì)數(shù)器、指令存放器、累加器、地址存放器、數(shù)據(jù)存放器、通用存放器等。,,,3、存儲(chǔ)器〔Memory〕,,記憶部件:存儲(chǔ)程序和數(shù)據(jù)。,,存儲(chǔ)器分級(jí)配置,,內(nèi)存:由半導(dǎo)
10、體存儲(chǔ)器組成,讀寫(xiě)速度快;,,外存:如硬盤(pán)、軟盤(pán)等,容量大,讀寫(xiě)速度慢,,程序在外存存放,執(zhí)行時(shí)調(diào)入內(nèi)存。,,4、外部設(shè)備、I/O設(shè)備、外設(shè)〔Peripheral Equipment〕,,完成信息轉(zhuǎn)換、計(jì)算機(jī)與外界交互;文字、聲音等自然信息以及其它物理信息與計(jì)算機(jī)能識(shí)別的二進(jìn)制信息進(jìn)行轉(zhuǎn)換;,,使計(jì)算機(jī)對(duì)人有用,至少應(yīng)有一臺(tái)外設(shè)。,,,5、總線〔Bus〕,計(jì)算機(jī)各部件之間傳送信息的公共通道。,,各部件分時(shí)復(fù)用總線。,,在某一時(shí)刻,只能有一個(gè)部件向總線發(fā)送數(shù)據(jù),否那么形成總線沖突。,,可有多個(gè)部件從總線接收數(shù)據(jù)。,,總線結(jié)構(gòu)降低了部件之間連線數(shù)量,提高可靠性;但數(shù)據(jù)交換速度降低。,,總線按傳遞信
11、息的內(nèi)容分為:,,數(shù)據(jù)總線〔Data Bus --DB〕--雙向,,地址總線〔Address Bus--AB〕--單向,,控制總線〔Control Bus—CB〕--雙向,,6、微型計(jì)算機(jī)結(jié)構(gòu)框圖,,存,,儲(chǔ),,器,I/O,,接,,口,輸,,入,,設(shè),,備,I/O,,接,,口,數(shù)據(jù)總線 DB,控制總線 CB,地址總線 AB,輸,,出,,設(shè),,備,,,CPU,,,1、位與字節(jié),1〕位 ( Bit),,指計(jì)算機(jī)能表示的最小信息單位。,,在計(jì)算機(jī)中采用二進(jìn)制表示數(shù)據(jù)和指令,故:,,位就是一個(gè)二進(jìn)制位,有兩種狀態(tài),“0〞 和 “1〞,1-3 微型計(jì)算機(jī)系統(tǒng)的工作原理,2〕字節(jié) ( Byte ),,相鄰
12、的8位二進(jìn)制數(shù)稱(chēng)為一個(gè)字節(jié) 1 Byte = 8 bit 如: 1100 0011 ;0101 0111,,3〕字〔Word〕,,字是CPU內(nèi)部進(jìn)行數(shù)據(jù)處理的根本單位。,,字長(zhǎng)與CPU內(nèi)部的存放器、 運(yùn)算器、總線寬度是一致的。,,通常也將2個(gè)字節(jié)〔16位〕定義為一個(gè)字;,4〕位編號(hào),1,0,1,0,0,0,1,0,D7,D6,D5,D4,D3,D2,D1,D0,A7,A6,A5,A4,A3,A2,A1,A0,數(shù)據(jù),D,ata,地址,A,ddress,,指令是CPU能執(zhí)行的一項(xiàng)根本操作。,,如:存數(shù)、取數(shù)、加、減、乘、除等,2、指令與指令系統(tǒng),指令系統(tǒng)〔或指令集
13、〕是某CPU所能執(zhí)行的全部操作的總和。不同的CPU,其指令系統(tǒng)不同。,程序,是用戶(hù)為使用計(jì)算機(jī)完成特定任務(wù)而編寫(xiě)的,指令的序列,。,,為使指令能被計(jì)算機(jī)識(shí)別,必須以二進(jìn)制編碼形式表示,稱(chēng)為機(jī)器碼。,,用機(jī)器碼形式表示的指令不便于人來(lái)記憶和理解,于是用一些助記符表示指令代碼。如: MOV AX, 3561H; ADD BL, 21H,,用助記符表示指令代碼的語(yǔ)言稱(chēng)為匯編語(yǔ)言。,,匯編源程序經(jīng)特定的軟件進(jìn)行編譯,形成機(jī)器碼程序—目標(biāo)程序。,,高級(jí)語(yǔ)言:按一定語(yǔ)法規(guī)那么設(shè)計(jì)的便于理解和編程的計(jì)算機(jī)編程語(yǔ)言,需經(jīng)特定的編譯軟件轉(zhuǎn)化為機(jī)器語(yǔ)言才能被計(jì)算機(jī)執(zhí)行。,,3、計(jì)算機(jī)的工作過(guò)程,,程序存放在存儲(chǔ)器
14、中,,CPU,上電后自動(dòng)從存儲(chǔ)器特定位置開(kāi)始逐條執(zhí)行指令。,,,執(zhí)行過(guò)程: 取一條指令 分析指令 執(zhí)行指令,標(biāo) 志,,寄存器,地址總線 AB,,數(shù)據(jù)總線 DB,,控制總線 CB,,指令寄存器,數(shù)據(jù)寄存器,控制電路,指令譯碼器,地,,址,,寄存,,器,程序計(jì)數(shù)器,R1,R2,R3,R4,寄存器組,運(yùn),,算,,器,,,,,存,,儲(chǔ),,器,,舉例,,,一段匯編程序,,,MOV AL,,,7,;,將數(shù)值,7,裝入累加器,AL,中,,,ADD AL,,,10,;,AL,內(nèi)容與,10,相加,結(jié)果存于,AL,中,,,HLT,;,停止操作,編譯成機(jī)器碼:,,10110000 〔MOV AL
15、,X〕,,00000111 〔 X=7 〕,,00000100 〔ADD AL,X 〕00001010 〔 X=10 〕,,11110100 〔HLT 〕,寫(xiě)入存儲(chǔ)器,內(nèi)容,,10110000,,00000111,,00000100,,00001010,,11110100,,,地址,,0000H,,0001H,,0002H,,0003H,,0004H,,4、當(dāng)前計(jì)算機(jī)的根本實(shí)現(xiàn)方案——馮.諾依曼(Von Neumann)體系結(jié)構(gòu),由運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備、輸出設(shè)備五局部組成,各自行使不同功能;,,指令與數(shù)據(jù)存放在存儲(chǔ)器中,順序執(zhí)行;,,采用二進(jìn)制形式表示信息。,,,該體系結(jié)構(gòu)
16、是馮.諾依曼(Von Neumann)于1946年提出,奠定了計(jì)算機(jī)實(shí)現(xiàn)框架;,,1949年誕生馮.諾依曼結(jié)構(gòu)計(jì)算機(jī),至今計(jì)算機(jī)結(jié)構(gòu)沒(méi)有根本突破。,,,年代 型號(hào) 晶體管數(shù)量,,1978,年,8086 2.9,萬(wàn),,1982,年,80286 13.5,萬(wàn),,1985,年,80386 32,萬(wàn),,1990,年,80486 120,萬(wàn),,1993,年,Pentium 320,萬(wàn),,1996,年,Pentium Pro 550,萬(wàn),,1997,年,Pent
17、ium II 750,萬(wàn),,300MHz,,1999,年,Pentium III,,2000,年,Pentium IV 4200,萬(wàn),,1.4GHz(0.18um,工藝,),Moore定律: “晶體管的大小將以指數(shù)速率變小,而集成到芯片上的晶體管數(shù)目將18-24個(gè)月翻一番。〞,,--Gordon Moore,1965〔 Intel公司的創(chuàng)始人,著名半導(dǎo)體科學(xué)家〕,,二進(jìn)制〔Binary)表示;計(jì)算機(jī)表示信息的方式。,,十進(jìn)制(Decimal)表示;人的自然表示。,,16進(jìn)制(Hexadecimal)表示;二進(jìn)制的等價(jià)表示,每4位二進(jìn)制數(shù)字等價(jià)于一位16進(jìn)制數(shù)字。用0、1、2、3、4
18、、5、6、7、8、9、A、B、C、D、E、F 表示16個(gè)數(shù)碼。,,表示:二進(jìn)制—B; 十進(jìn)制—D〔可省略〕;,,十六進(jìn)制—H,1-4 計(jì)算機(jī)運(yùn)算根底,1、常用的計(jì)數(shù)制,,2、數(shù)制間的數(shù)值轉(zhuǎn)換,1〕非十進(jìn)制數(shù)化十進(jìn)制數(shù)的方法:各位數(shù)碼乘以與其對(duì)應(yīng)的權(quán),然后相加即可。,,如: 1011B=1*23+0*22+1*21+1*20=11,,02E3H=0*163+2*162+E*16+3=2*256+14*16+3=739,2〕十進(jìn)制轉(zhuǎn)化為N進(jìn)制數(shù)的方法,,整數(shù)局部除以N,并記下余數(shù),直到商為0;,,將余數(shù)按從后往前的順序排列起來(lái),構(gòu)成整數(shù)局部。,,小數(shù)局部乘以N ,并記下結(jié)果的整數(shù)局部,直到結(jié)果的
19、小數(shù)局部為0;然后將結(jié)果的整數(shù)局部從前向后排列起來(lái),構(gòu)成小數(shù)局部。,,3〕十六進(jìn)制與二進(jìn)制數(shù)的轉(zhuǎn)換,,十六進(jìn)制數(shù)每一位用4位二進(jìn)制數(shù)表示,4〕舉例,,求100D的二進(jìn)制和十六進(jìn)制表示,,100/2=50余0,,50/2=25余0,,25/2=12余1,,12/2=6余0,,6/2=3余0,,3/2=1余1,,1/2=0余1,,所以100D=1100100B=64H,,其它例:,,,18.125=,10010.001,,B ;101010.111B=,42.875,D,,3、計(jì)算機(jī)中常用的編碼,1)所謂編碼是指信息在計(jì)算機(jī)中的表示方法。信息既包括數(shù)字也包括字母、符號(hào)和一些不可見(jiàn)的控制符號(hào)。,,2
20、)BCD碼〔Binary-Coded Decimal) 用四位二進(jìn)制數(shù)表示一位十進(jìn)制數(shù)。,,3)ASCII碼〔American Standard Code for Information Interchange),,用7位二進(jìn)制進(jìn)行編碼〔00-7FH〕,可表示128種字符,見(jiàn)附錄1。,,在機(jī)器內(nèi)用一個(gè)字節(jié)表示,D7=0。,,4)漢字編碼:,,常用國(guó)標(biāo)碼,用兩個(gè),7,位編碼表示漢字和一些圖形符號(hào);,,在機(jī)器內(nèi)用兩個(gè),8,位字節(jié)表示,稱(chēng)為內(nèi)碼;,,每個(gè)字節(jié)的,D7=1,,,以與,ASCII,碼相區(qū)別。,,如漢字‘啊’的國(guó)標(biāo)碼為,0110000 0100001,;,,對(duì)應(yīng)內(nèi)碼為,10110000 1
21、0100001,,在計(jì)算機(jī)中,符號(hào)只能用數(shù)字來(lái)表示。,,用二進(jìn)制數(shù)字的,最高位表示該數(shù)的符號(hào),。正數(shù)為,0,,負(fù)數(shù)為,1,。其余位為數(shù)值位。,,機(jī)器數(shù)的表示方法有:,原碼、反碼、補(bǔ)碼,。,4、計(jì)算機(jī)中有符號(hào)數(shù)的表示,5、原碼、反碼和補(bǔ)碼,,1〕原碼:正數(shù)的原碼為該數(shù)的二進(jìn)制數(shù);,,負(fù)數(shù)的原碼僅符號(hào)位為1。,,例:假設(shè)用8位二進(jìn)制數(shù)表示機(jī)器數(shù),那么13的原碼為00001101;-13的原碼為10001101。,,原碼便于乘除運(yùn)算,但不便于加減運(yùn)算。,,2〕反碼,,正數(shù)的反碼等于原碼;,,負(fù)數(shù)的反碼為其原碼的符號(hào)位不變,數(shù)值位按位取反。,,例:假設(shè)用8位二進(jìn)制數(shù)表示機(jī)器數(shù),那么13的反碼為0000
22、1101;-13的反碼為11110010;,,對(duì)反碼取反得到相反數(shù)的反碼。,,例如:,,-〔-13〕反碼為〔11110010〕的各位取反。,,3〕補(bǔ)碼,,正數(shù)的補(bǔ)碼等于原碼;,,負(fù)數(shù)的補(bǔ)碼為其反碼+1。,,例:假設(shè)用8位二進(jìn)制數(shù)表示機(jī)器數(shù),那么13的補(bǔ)碼為00001101;-13的補(bǔ)碼為11110010+1=11110011。,,對(duì)補(bǔ)碼取補(bǔ)可得到相反數(shù)的補(bǔ)碼。,,-〔-13〕的補(bǔ)碼為00001100+1=00001101=13,,4〕補(bǔ)碼的性質(zhì)與作用,,[x+y]補(bǔ) = [x]補(bǔ) + [y]補(bǔ),,[x-y]補(bǔ) = [x]補(bǔ) + [-y]補(bǔ),,[[x]補(bǔ)]補(bǔ)=x;補(bǔ)碼的補(bǔ)碼等于原碼,,如 32-
23、13=32+〔-13〕=00100000B+11110011B=00010011B,,而13-32=00001101B+11100000B=11101101B,,=-19的補(bǔ)碼,,采用補(bǔ)碼可將減法轉(zhuǎn)化為加法,而且符號(hào)位同數(shù)值位一同參與運(yùn)算,運(yùn)算簡(jiǎn)單。,,引入補(bǔ)碼的目的是:1〕便于加減法運(yùn)算;2〕使加法和減法相統(tǒng)一,降低硬件復(fù)雜性。,,例如:有兩個(gè)補(bǔ)碼X=00100000B,Y=00001101B,,計(jì)算X-Y的過(guò)程如下:,,1〕對(duì)Y取補(bǔ),得到其相反數(shù)的補(bǔ)碼,,〔-Y〕=11110011B,,2〕啟動(dòng)CPU中的加法器,計(jì)算X+(-Y),,00100000B+11110011B=000010011
24、B,,,思考:計(jì)算Y-X應(yīng)怎樣處理?,,,M,位二進(jìn)制數(shù)能夠表示的無(wú)符號(hào)數(shù)范圍為:,,,0,~,2,M,-1,,M,位二進(jìn)制數(shù)能夠表示的有符號(hào)數(shù)范圍為:,,原碼,-2,M-1,+1,~,2,M-1,-1,,,反碼,-2,M-1,+1,~,2,M-1,-1,,,補(bǔ)碼,-2,M-1,~,2,M-1,-1,6、無(wú)符號(hào)數(shù)和有符號(hào)數(shù)的表示范圍,,典型,8,位二進(jìn)制數(shù)的碼值,,數(shù)值 原碼 反碼 補(bǔ)碼,,,127 7FH 7FH 7FH,,126 7EH 7EH 7EH,,1 01H 01H 01H,,0 00H/80H 00H/0FFH 00H,,-1 81H 0FEH
25、 0FFH,,-2 82H 0FDH 0FEH,,-127 0FFH 80H 81H,,-128 / / 80H,,如上所述,一定位數(shù)的二進(jìn)制數(shù)能夠表示的數(shù)值范圍是有限的。,,兩數(shù)相加或相減,結(jié)果超過(guò)該數(shù)字位能夠表示的無(wú)符號(hào)數(shù)范圍〔最高位產(chǎn)生進(jìn)位〕,稱(chēng)為進(jìn)位。,,兩數(shù)相加或相減,結(jié)果超過(guò)該數(shù)字位能夠表示的有符號(hào)數(shù)范圍〔與進(jìn)位無(wú)關(guān)〕,稱(chēng)為溢出。,,進(jìn)位和溢出是互不相干的兩種情況。,,課后自己結(jié)合進(jìn)位和溢出概念給出具體算例。,7、進(jìn)位與溢出,,第二章 Intel-8086微處理器結(jié)構(gòu),,2-1 Intel-80x86系列微處理器概述,型號(hào),發(fā)布年份,字長(zhǎng),晶體管數(shù)(萬(wàn)),主
26、頻,,(MHz),數(shù)據(jù)總線,外部總線,地址總線,尋址空間,高速緩存,8086,1978,16,2.9,4.77,16,16,20,1M,No,8088,1979,16,2.9,4.77,16,8,20,1M,No,80286,1982,16,13.4,6-20,16,16,24,16M,No,80386,1986,32,27.5,12.5-33,32,32,32,4G,Yes,80486,1989,32,120-,,160,25-100,32,32,32,4G,8K,Pentium,,(586),1993,32,310-,,330,60-166,64,64,32,4G,8K,,8K,Penti
27、um,,Pro(P6),1995,32,550,150-200,64,64,36,64G,8K,,8K,Pentium II,1997,32,750,233-350,64,64,36,64G,32K,,512K,,,1971,年推出,Intel 4004,芯片,被認(rèn)為是世界上第一個(gè),微處理器,(CPU),。,,1978,年,Intel,公司推出,8086 CPU,,,16,位。,1979,年又推出,8088,,,8,位數(shù)據(jù)線,以滿足與當(dāng)時(shí)的,8,位機(jī)間的兼容性。,,IBM,公司進(jìn)入個(gè)人計(jì)算機(jī)領(lǐng)域,采用,Intel 8088,芯片,使,Intel CPU,成為主流。,,2-2 Intel-80
28、86微處理器結(jié)構(gòu),1、,8086概況,16位微處理器,,地址總線20條,尋址能力220=1MB,,DIP-40〔雙列直插式40腳〕封裝,2、,8086的功能結(jié)構(gòu),,傳統(tǒng),CPU,執(zhí)行指令的過(guò)程是:取指令-,>,執(zhí)行指令-,>,再取指令-,>……,,串行操作。,,而,8086,的取指令與執(zhí)行指令操作是由兩個(gè)不同的部件完成,可同時(shí)進(jìn)行。目的是提高,CPU,的執(zhí)行速度。,,,8086從功能上可分成兩局部:,,總線接口部件BIU(Bus Interface Unit);,,執(zhí)行部件EU(Execution Unit)。,,總線接口部件BIU負(fù)責(zé)與內(nèi)存或I/O端口進(jìn)行指指令和數(shù)據(jù)傳送;執(zhí)行部件EU負(fù)責(zé)指
29、令執(zhí)行。,,①BIU從內(nèi)存中取指令送到指令隊(duì)列;,,②當(dāng)EU執(zhí)行指令時(shí),BIU要配合EU從指定的內(nèi)存單元或I/O端口中讀取數(shù)據(jù),或者把EU的操作結(jié)果送到指定的內(nèi)存單元或I/O端口去。,,3、8086的存儲(chǔ)器組織,,1)8086尋址能力的擴(kuò)展,,存儲(chǔ)器由很多個(gè)8位的存儲(chǔ)單元組成,每個(gè)存儲(chǔ)單元對(duì)應(yīng)于一個(gè)地址編碼。CPU要訪問(wèn)某存儲(chǔ)單元,需將該單元地址發(fā)到地址總線。,,8086內(nèi)部與地址有關(guān)的存放器均為16位,只能尋址216=64KB的存儲(chǔ)器空間。,,為了擴(kuò)大CPU可訪問(wèn)的存儲(chǔ)器容量,8086 CPU采用兩個(gè)存放器來(lái)形成地址:段地址存放器、偏移地址存放器。,,這樣,8086實(shí)際上有20條地址線,能夠
30、訪問(wèn)的存儲(chǔ)單元數(shù)〔即尋址能力〕為220=1MB;,,地址范圍:00000H~0FFFFFH,,2)8086中20位地址的生成,,將1MB存儲(chǔ)空間分成假設(shè)干個(gè)不超過(guò)64KB的區(qū)段,稱(chēng)為存儲(chǔ)器的段〔Segment〕。,,每個(gè)存儲(chǔ)段有一個(gè)16位的基準(zhǔn)地址,稱(chēng)為段地址;,,以段地址為基準(zhǔn),段內(nèi)各存儲(chǔ)單元的相對(duì)地址稱(chēng)為偏移地址〔16位〕;,,段地址存放在CPU的段存放器中;偏移地址存放在偏移地址存放器中。,,20位物理地址=,,16位段地址×24〔左移四位〕+16位偏移地址,,例如:段地址為2500H,偏移地址9700H,,那么形成的物理地址為25000H+9700H=2E700H,,,3)物理地址、邏
31、輯地址,,物理地址,:存儲(chǔ)器中各存儲(chǔ)單元的實(shí)際地址。,,邏輯地址,:用段地址和偏移地址表示的相對(duì)地址。,,,表示形式,為,段地址,:,偏移地址,,,如,2000H:1340H,,一個(gè)物理地址可對(duì)應(yīng)多個(gè)邏輯地址;,,如物理地址,12345H,,,邏輯地址可以是,,,1234H:0005H,;,1200H:0345H,;,1100H:1345H,,4〕段的種類(lèi),,有了段存放器,可將1M的存儲(chǔ)空間分成很多個(gè)段;,,為便于管理,8086設(shè)計(jì)上將不同的存儲(chǔ)內(nèi)容存放在不同的段中;分為代碼段、數(shù)據(jù)段、堆棧段和附加段。,,用戶(hù)編寫(xiě)的程序放在代碼段中,使用的數(shù)據(jù)放在數(shù)據(jù)段中。,,4、8086的存放器組,,數(shù)據(jù)存
32、放器:AX、BX、CX、DX,,指針及變址存放器:SP、BP、SI、DI,,段存放器:CS、DS、ES、SS,,指令指針I(yè)P 〔Instruction Pointer〕,,狀態(tài)標(biāo)志存放器PSW〔Program State Word),,說(shuō)明,,數(shù)據(jù)存放器和指針及變址存放器又統(tǒng)稱(chēng)通用存放器;,,指令指針與狀態(tài)標(biāo)志統(tǒng)稱(chēng)控制存放器;,,所有存放器均為16位。,,1〕數(shù)據(jù)存放器,,AX:通用存放器;算術(shù)運(yùn)算的主存放器——累加器〔Accumulator〕;,,BX:通用存放器;一些指令中作為基址(Base)存放器;,,CX:通用存放器;一些指令中作為計(jì)數(shù)器(Counter) ;,,DX:通用存放器;一些
33、指令中作為數(shù)據(jù)(Data)存放器與AX配合使用。,,說(shuō)明:,,在一般指令中,這些存放器可作為通用存放器使用,在一些特定的指令中,各存放器有特定功能;,,既可作為16位使用,也可分成兩個(gè)8位存放器使用,,高8位記作 : AH、BH、CH、DH,,低8位記作 : AL、BL、CL、DL,,2〕指針及變址存放器,,SP:堆棧指針存放器(Stack Pointer),用來(lái)指示棧頂?shù)钠频刂贰?,BP:基址指針存放器(Base Pointer),指示堆棧區(qū)中的一個(gè)基地址。,,SI:源變址存放器(Source Index)。,,DI:目的變址存放器(Destination Index)。,,說(shuō)明:這4
34、個(gè)存放器也可以作為通用存放器使用。,,3〕段存放器,,CS:代碼段(Code Segment);存放程序段的段地址。,,DS:數(shù)據(jù)段(Data Segment);存放數(shù)據(jù)段的段地址。,,ES:附加段(Extra Segment);存放附加段的段地址.,,SS:堆棧段(Stack Segment);存放堆棧段的段地址。,,4〕控制存放器,,IP:指令指針(Instruction Pointer)存放器;能自動(dòng)加1,生成代碼段中下一條將要取的指令的偏移地址。,,PSW:程序狀態(tài)字(Program State Word)存放器;用各個(gè)狀態(tài)位反映算術(shù)邏輯運(yùn)算的一些狀態(tài)標(biāo)志和控制標(biāo)志。,,5、PSW標(biāo)志
35、位的定義,,,C—進(jìn)位標(biāo)志,結(jié)果在最高位產(chǎn)生進(jìn)位或借位時(shí)置1;,,P—奇偶標(biāo)志,結(jié)果中1的個(gè)數(shù)為偶數(shù)時(shí)置1;,,A—半進(jìn)位標(biāo)志〔低4位向高4位的進(jìn)位〕;,,Z—運(yùn)算結(jié)果為零時(shí)置1;,,S—符號(hào)標(biāo)志,該標(biāo)志位與結(jié)果的最高位相同;,,O—溢出標(biāo)志,運(yùn)算結(jié)果超出有符號(hào)數(shù)表示范圍時(shí)置1;,,D—方向標(biāo)志,用于串操作,置1使串操作按減1執(zhí)行;,,T—跟蹤標(biāo)志,置1后處理器進(jìn)入單步執(zhí)行方式,便于調(diào)試;,,I—中斷允許標(biāo)志,置1允許CPU接受外部可屏蔽中斷;,,前6種標(biāo)志為狀態(tài)標(biāo)志,后3種標(biāo)志為控制標(biāo)志。,O,D,I,T,S,Z,A,P,C,,CPU怎樣判斷是否溢出?,,按結(jié)果的最高位和次高位的進(jìn)位情況判斷
36、;對(duì)兩個(gè)進(jìn)位進(jìn)行異或,異或結(jié)果為,1,表示有溢出,為,0,表示無(wú)溢出。,,原理不做討論。,,第三章 Intel-8086的指令系統(tǒng),,3-1 8086的指令格式,指令由操作碼和操作數(shù)兩局部字段組成。,,如:MOV AX,2345H,,MOV為操作碼;AX和2345H為操作數(shù)。,,操作碼 指示計(jì)算機(jī)執(zhí)行何種操作。,,操作數(shù) 參加操作的數(shù)據(jù)對(duì)象或其所在的地址。,,,,,8086,系列指令包括無(wú)操作數(shù)指令、單操作數(shù)指令和雙操作數(shù)指令。,,如,HLT,;,無(wú)操作數(shù)指令,,,INC CX,;,單操作數(shù)指令,,,ADD AX , BX,,;,雙操作數(shù)指令。第一操作數(shù)為,目的操作數(shù),,第二操作數(shù)為
37、,源操作數(shù)。,,3-2 8086指令的尋址方式,1、指令中數(shù)據(jù)的存放位置,,指令中進(jìn)行操作的數(shù)據(jù)存放位置有三種情況:,,1)存于指令中(立即數(shù)),,數(shù)據(jù)包含在指令中,即被操作數(shù)據(jù)直接表示在指令的操作數(shù)字段中。,,例:MOV AL , 08H,,這種操作數(shù)稱(chēng)為立即數(shù)。,,2)存于存放器中(存放器操作數(shù)),,數(shù)據(jù)存放在CPU的一個(gè)存放器中。,,例:INC CX,,3)存于存儲(chǔ)器中(存儲(chǔ)器操作數(shù)),,數(shù)據(jù)在內(nèi)存中或在I/O端口中,存放數(shù)據(jù)的偏移地址以某種方式表示在指令中。,,如:,,MOV AX,[2500H],,MOV AX, [BX],,此例中[2500]、[BX]為存儲(chǔ)器操作數(shù)。,,存儲(chǔ)
38、器操作數(shù)中操作數(shù)字段指示此操作數(shù)的偏移地址,而段地址由某個(gè)段存放器提供。此例中默認(rèn)為數(shù)據(jù)段DS。,,2、8086指令的尋址方式,,尋址方式:指令中指明操作數(shù)存放位置的表達(dá)方式。,,8086有6種尋址方式,,1〕立即尋址,,操作數(shù)為立即數(shù),直接存放在指令的操作數(shù)字段中。,,只能作為源操作數(shù)。,,例:MOV AL, 05H,,指令執(zhí)行后:,,,(AL)=05H,,例: MOV AX, 3064H,,指令執(zhí)行后:,,(AX)=3064H,,,2) 存放器尋址方式,,操作數(shù)在指令所指示的存放器中。,,表示格式:直接在指令中寫(xiě)出存放器名稱(chēng)。,,如 MOV BX,AX,,MOV CL,23H,,3
39、〕直接尋址,,操作數(shù)存放在內(nèi)存中,操作數(shù)的偏移地址直接表示在指令中。,,表示格式:[偏移地址],,如 MOV AX,[3100H],,默認(rèn)操作數(shù)存放在內(nèi)存的數(shù)據(jù)段中。,,例:MOV AX,[3100H],,假設(shè) 〔DS〕=6000H,,(63100H)=3050H,,那么 〔AX〕=3050H,...,操作碼,00,31,...,50H,30H,...,6 0 0 0 0,3 1 0 0,+,6 3 1 0 0,63100H,30H,50H,AH,AL,代,碼,段,數(shù),據(jù),段,,操作數(shù)也允許存放在其它段中(SS,ES),此時(shí)應(yīng)在指令中指明段超越。,,段超越,,假設(shè)操作數(shù)不在指令默認(rèn)的段中,而是
40、在其它某個(gè)段中,那么需要在指令中加以表示,這種情況稱(chēng)為段超越。,,表示,,如直接尋址方式中操作數(shù)在附加段中,那么應(yīng)表示為 MOV AX,ES:[3100H],,4) 存放器間接尋址方式,,操作數(shù)在存儲(chǔ)器中, 操作數(shù)偏移地址在BX、SI、DI或BP的某個(gè)存放器中。,,假設(shè)以SI、DI、BX作為間接尋址存放器,,那么默認(rèn)操作數(shù)存放在數(shù)據(jù)段中,用DS存放器的內(nèi)容作為段地址。,,假設(shè)以BP存放器作為間接尋址存放器,,那么默認(rèn)操作數(shù)存放在堆棧段中,用SS存放器的內(nèi)容作為段地址。,,如 MOV BX,[DI],,假設(shè),,〔DS〕=6000H,,〔DI〕=2000H〔62000H〕=50A0H,,
41、那么執(zhí)行指令后,,(BX)=50A0H,表示格式: [尋址存放器],,存放器間接尋址方式也允許段超越。,,如,,MOV AX, DS:[BP],,MOV CH, SS:[SI],,MOV ES:[BX], AL,,設(shè)〔AL〕=B2H,〔BX〕=1234H,,〔ES〕=1400H,那么執(zhí)行指令后:,,變址尋址方式,,操作數(shù)的偏移地址是以存放器SI、DI、BX、BP的內(nèi)容與指令中給定的8位或16位偏移量之和。,,如 MOV AH,1000H[BX],,或?qū)懗? MOV AH,[BX+1000H],,又如 MOV 25H[BP] ,BX,,表示格式:位移量[存放
42、器] 或 [存放器+位移量],,假設(shè)以SI、DI、BX尋址,那么默認(rèn)在數(shù)據(jù)段中;假設(shè)以BP尋址,那么默認(rèn)在堆棧段中。,,6)基址加變址尋址方式,,操作數(shù)的偏移地址是一個(gè)基址存放器BX或BP和一個(gè)變址存放器SI或DI的內(nèi)容之和加上給定的8位或16位偏移量。,,表示格式: 位移量[基址][變址],,或 [位移量+基址+變址],,如 MOV 10H[BX][SI],CX,,或?qū)憺? MOV [10H+BX+SI],CX,,BX尋址默認(rèn)為數(shù)據(jù)段;BP尋址默認(rèn)為堆棧段。,,3-3 8086指令系統(tǒng),,可以分為以下六類(lèi),:,,,數(shù)據(jù)傳送指令,,算術(shù)運(yùn)算指令,,邏輯運(yùn)算和移位指
43、令,,串操作指令,,控制轉(zhuǎn)移指令,,處理器控制指令,,3.3.1 數(shù)據(jù)傳送類(lèi)指令,包括:,,通用傳送指令;累加器專(zhuān)用傳送指令;,,地址傳送指令;標(biāo)志傳送指令;,,1、通用傳送指令,,1)根本傳送指令〔MOV〕,,指令格式:MOV DST,SRC;,,源操作數(shù)和目的操作數(shù)可用上述6種尋址方式的任何一種。,,操作:將SRC內(nèi)容賦給DST。,,所有通用傳送指令都不影響標(biāo)志位。,,注意:不能用MOV指令實(shí)現(xiàn)以下傳送,,存儲(chǔ)器操作數(shù)之間不能直接傳送,,MOV [1000H] , [DI] 錯(cuò),,應(yīng)改為,,MOV AX , [DI],,MOV [1000H], AX,,立即數(shù)不能直接
44、傳送段存放器,,MOV DS,2000H 錯(cuò),,應(yīng)改為,,MOV AX, 2000H,,MOV DS , AX,,段存放器之間不能直接傳送,,MOV ES , DS ; 錯(cuò),,應(yīng)改為,,MOV BX , DS,,MOV ES , BX,,CS只可以作為源操作數(shù),,例:MOV CS,AX ;錯(cuò),,MOV AX,CS ;對(duì),,源操作數(shù)和目的操作數(shù)的寬度必須相同,,立即數(shù),段存放器,存儲(chǔ)器,,(各種尋址),通 用,,存放器,,2)堆棧指令(PUSH 、POP),,堆棧(STACK)的概念,,數(shù)據(jù)的存儲(chǔ)按后進(jìn)先出(Last In First Out——LI
45、FO)原那么組織的一段內(nèi)存區(qū)域。,,入棧指令〔PUSH〕:,,格式:PUSH src,,操作過(guò)程分兩步完成:,,(SP) ? (SP) - 2,,((SP)+1,(SP)) ? (src),,功能:把一個(gè)字壓入由SP指向的堆棧區(qū)。,,如:PUSH AX,,假設(shè)〔AX〕=50A0H,,SP=2002H,,SS=6000H,,那么執(zhí)行 PUSH AX的結(jié)果如右圖。,,假設(shè)再執(zhí)行,,PUSH BX,,設(shè)〔BX〕=0ABCDH,結(jié)果如右圖。,6000H,2000H,SS,SP,6 0 0 0 0,2,0,0,0,+,6 2 0 0 0,...,AOH,50H,...,620
46、00H,50H,A0H,AX,堆,棧,段,ABH,CDH,,出棧指令〔POP〕,,格式:POP dst ;,,操作:,,(dst) ? ((SP)+1,(SP)),,(SP) ? (SP)+2,,功能:把SP所指向的堆棧頂部的一個(gè)字 送入目的地址,同時(shí)進(jìn)行修改堆棧指針。,,如: POP BX,,POP AX,,,,PUSH [2300H],,PUSH CS,,但,POP CS,錯(cuò),,堆棧用途如以下圖,,,斷點(diǎn)信息:程序斷點(diǎn)地址、標(biāo)志存放器及其它能被子程序使用和改變的存放器。,,堆棧用途,,存放存放器或存儲(chǔ)器中暫時(shí)不使用的數(shù)據(jù),在使用這些數(shù)據(jù)時(shí)可方便地將其彈出;
47、,,調(diào)用子程序或發(fā)生中斷時(shí)要保護(hù)斷點(diǎn)信息〔入?!常映绦蚧蛑袛喾祷貢r(shí)恢復(fù)斷點(diǎn)信息〔出?!?。,,應(yīng)注意的問(wèn)題,,堆棧操作都按字操作;,,PUSH , POP 指令的操作數(shù)可以是CPU內(nèi)部存放器或存儲(chǔ)單元;,,PUSH CS 合法,POP CS 非法;,,執(zhí)行PUSH 指令, (SP)-2 ? (SP),低字節(jié)放在低地址,高字節(jié)放在高地址;,,SP總是指向棧頂;,,堆棧最大容量即為SP的初值。,,3〕交換指令〔XCHG),,格式:XCHG dst , src ;(dst) ?(src),,可以實(shí)現(xiàn):存放器之間,,存放器和存儲(chǔ)器之間,,注意:,,存儲(chǔ)器之間不能直接交換;,
48、,段存放器不能作為操作數(shù);,,允許字或字節(jié)操作。,,2、累加器專(zhuān)用傳送指令,,1〕輸入指令〔IN〕,,功能:用于CPU從外設(shè)端口接收數(shù)據(jù)。,,具體形式有四種:,,IN AL, data8;從8位端口地址輸入一個(gè)字節(jié),,IN AX, data8;從8位端口地址輸入一個(gè)字,,IN AL, DX;從16位端口地址輸入一個(gè)字節(jié),,IN AX, DX ; 從16位端口地址輸入一個(gè)字,,例1:,,IN AL, 80H;,,從地址為80H的端口讀入一個(gè)字節(jié);,,例2:,,MOV DX, 1020H; 將16位端口地址賦給DX,,IN AX, DX; 從(DX)為地址的端口讀入16位數(shù)據(jù)
49、。,,解釋?zhuān)?,1〕CPU對(duì)各個(gè)外部設(shè)備接口也采用地址編碼。 8086CPU連接外部設(shè)備的地址可以是8位或16位。,存,,儲(chǔ),,器,I/O,,接,,口,輸,,入,,設(shè),,備,I/O,,接,,口,數(shù)據(jù)總線 DB,控制總線 CB,地址總線 AB,輸,,出,,設(shè),,備,,CPU,,20位,8位或16位,,解釋?zhuān)?,2〕8086CPU訪問(wèn)存儲(chǔ)器和訪問(wèn)外部設(shè)備采用不同的指令形式,外設(shè)地址與存儲(chǔ)器地址可以重疊。,,通過(guò)CPU的IO/M引腳控制存儲(chǔ)器或外設(shè)被選通;當(dāng)訪問(wèn)存儲(chǔ)器時(shí)IO/M引腳輸出低電平,當(dāng)訪問(wèn)外設(shè)時(shí)該引腳輸出高電平。,,,MOV BX,[1234H],;從,存儲(chǔ)器,的[1234H]單元讀數(shù)據(jù),
50、放入BX。CPU執(zhí)行該指令使,IO/,M,=0,,,MOV DX,1234H,;立即數(shù)賦給DX,,,IN AX,DX,;從地址為[1234H] 的,外設(shè),讀數(shù)據(jù),,,CPU執(zhí)行該指令使IO/,M,=1,存,,儲(chǔ),,器,I/O,,接,,口,輸,,入,,設(shè),,備,I/O,,接,,口,數(shù)據(jù)總線 DB,控制總線 CB,地址總線 AB,輸,,出,,設(shè),,備,,CPU,,IO/,M,,2〕輸出指令〔OUT〕,,功能:用于CPU向外設(shè)端口發(fā)送數(shù)據(jù),,四種形式:,,OUT data8 , AL;向8位地址端口輸出一個(gè)字節(jié),,OUT data8, AX ;向8位地址端口輸出一個(gè)字,,OUT DX , AL;向1
51、6位地址端口輸出一個(gè)字節(jié),,OUT DX , AX ;向16位地址端口輸出一個(gè)字,,3、目的地址傳送指令,,8086 提供三條:,,LEA,,LDS,,LES,,1〕LEA (Load Effective Address),,格式: LEA reg16 , mem,,Reg16 — 16位通用存放器; mem — 存儲(chǔ)單元;,,功能:將源操作數(shù)的偏移地址傳送到目的操作數(shù);,,注意:源操作數(shù)必須以存放器間接尋址、變址尋址、基址加變址尋址等方式表示的存儲(chǔ)器操作數(shù);目的操作數(shù)為一個(gè)16位的通用存放器。,,例: LEA AX,[DI],,設(shè)〔DI〕=1005H,,執(zhí)行 LEA AX,[D
52、I],有〔AX〕=1005H,,例: LEA BX,[BX+SI+0F62H],,設(shè)〔BX〕=0400H,〔SI〕=003CH,,執(zhí)行指令后:,,源操作數(shù)地址為:〔BX〕+〔SI〕+ 0F62H,,=0400H+003CH+0F62H=139EH,,那么〔BX〕=139EH,,2〕LDS (Load pointer using DS)(略),,格式:LDS reg16 , mem ;,,功能:把源操作數(shù)指定的4個(gè)相繼字節(jié)的數(shù)據(jù)分別送指令指定的存放器及DS存放器中。,,〔reg16〕←〔mem〕,,〔DS〕←〔〔mem〕+2〕,,,,3〕LES (Load pointer usin
53、g ES )(略),,格式:LES reg16 ,mem ;,,功能:把源操作數(shù)指定的4個(gè)相繼字節(jié)的數(shù)據(jù)分別送指令指定的存放器及ES存放器中。,,〔reg16〕←〔mem〕,,〔ES〕←〔〔mem〕+2〕,,例,:,,設(shè),(DS)=0C 000H,,指令 LDS SI, [0010H],,執(zhí)行指令后,:,,(SI)=0180H,,(DS)=2000H,,,80H,01H,00H,20H,C000H:0010H,(DS),C0011H,C0012H,C0013H,...,...,存儲(chǔ)器,C0010H,,例,:,,設(shè),(DS)=B 000H,,(BX)=080AH,,指令 LES DI
54、, [BX],,執(zhí)行指令后,:,,(DI)=05A2H,,(ES)=4000H,A2H,05H,00H,40H,B000H:080AH,(DS),B080BH,B080CH,B080DH,...,...,存儲(chǔ)器,(BX),B080AH,,4、標(biāo)志傳送指令,,8086有四條標(biāo)志傳送操作指令:,,1〕LAHF〔Load AH into flags〕,,格式:LAHF ;,,功能:標(biāo)志存放器低八位傳送給AH,,〔AH〕←〔PSW的低字節(jié)〕,,2〕SAHF〔Store AH into Flags〕,,格式:SAHF,,功能:AH內(nèi)容傳送給標(biāo)志存放器低八位。,,〔PSW的低字節(jié)〕←〔AH〕,,3〕
55、PUSHF〔Push Flags 〕,,格式:PUSHF ;,,功能 : 標(biāo)志進(jìn)棧。,,〔SP〕←〔SP〕-2,,〔〔SP〕+1,〔SP〕〕←〔PSW〕,,4〕POPF〔Pop Flags 〕,,格式:POPF;,,功能:標(biāo)志出棧。,,〔PSW〕←〔〔SP〕+1,〔SP〕〕,,〔SP〕←〔SP〕+2,,3.3.2 算術(shù)運(yùn)算類(lèi)指令,包括:,,加法指令、減法指令、乘法指令、除法指令,,1,、加法指令,,8086,具有,5,條加法指令,:,,ADD(Addition),加法指令,,ADC(Add with Carry),帶進(jìn)位加法指令,,INC(Increment),加,1,指令,,AA
56、A(ASCII adjust for addition),加法,ASCII,調(diào)整指令,(,略,),,DAA(Decimal adjust for addition),加法十進(jìn)制調(diào)整指令,(,略,),,1〕不含進(jìn)位的加法指令A(yù)DD,,指令格式:ADD dest , src ;,,功 能 :(dest) ?(dest)+(src),,Src:立即數(shù),通用存放器,存儲(chǔ)器,,dest:通用存放器,存儲(chǔ)器,,例:,,ADD CL,10,,ADD DX,SI,,ADD AX, [2F00H],,ADD 100H[BX], AL,,ADD [DI], 30H,,特點(diǎn):
57、,,可進(jìn)行8位或16位的無(wú)符號(hào)數(shù)或有符號(hào)數(shù)加法運(yùn)算;,,源操作數(shù)和目標(biāo)操作數(shù)不能同時(shí)為存儲(chǔ)器, 不能為段存放器;,,指令影響標(biāo)志位,,8位〔有符號(hào)〕數(shù)相加,和超出范圍〔-128~+127〕,或16位〔有符號(hào)〕數(shù)相加,和超出范圍(-32768 ~ +32767),那么 O=1,,8位〔無(wú)符號(hào)〕數(shù)相加,和超過(guò)255,或16位〔無(wú)符號(hào)〕數(shù)相加,和超過(guò)65535,那么 C=1,,,其他標(biāo)志〔S,A,P,Z)由運(yùn)算結(jié)果按定義確定。,,2〕含進(jìn)位加法指令A(yù)DC(Add with carry),,格式: ADC dest,src ;,,功能:〔dest〕←〔dest〕+〔src〕+C,,C: 進(jìn)位
58、標(biāo)志C的當(dāng)前值,,特點(diǎn): 與ADD同。,,類(lèi)型舉例:,,ADC CX, 300,,ADC AL, BL,,ADC DX, [SI],,用途:,ADC,指令主要用于多字節(jié)運(yùn)算中。,,,如:求兩個(gè),32,位數(shù),12345678H,與,0ABCDEFABH,之和,,MOV AX, 1234H,,MOV BX, 5678H,,ADD BX, 0EFABH,,ADC AX, 0ABCDH,,,3〕加 1 指令I(lǐng)NC (Increment by 1 ),,格式: INC dest ;,,功能: (dest)←〔dest〕+1,,dest : 通用存放器、存儲(chǔ)器;,,
59、用途:用于在循環(huán)程序中修改循環(huán)次數(shù)或地址指針。,,標(biāo)志位影響情況:影響S, Z, A, P, O;不影響C。,,例:,,INC DL ; 8位存放器+1,,INC SI ;16位存放器+1,,而,,INC [2100] ;錯(cuò)誤,應(yīng)寫(xiě)成,,INC WORD PTR [2100] ;,,存儲(chǔ)器內(nèi)容+1〔字操作〕,PTR為屬性轉(zhuǎn)換操作。,,又如,,INC BYTE PTR [BX][SI] ;字節(jié)操作,,,,2、減法指令〔Subtraction),,8086有7條減法指令:,,SUB(Subtraction) 不含借位減法指令,,SBB(Su
60、btraction with Borrow)含借位減法指令,,DEC(Decrement by 1) 減1指令,,CMP(Compare) 比較指令,,NEG(Negate) 求補(bǔ)指令(略),,AAS(ASCII Adjust for Subtraction) 減法ASCII調(diào)整指令(略),,DAS(Decimal Adjust for Subtraction) 減法十進(jìn)制調(diào)整指令(略),,1〕不含借位減法指令SUB(Subtraction),,格式:SUB: dest,src;,,功能:〔dest〕←〔dest〕-〔src〕,,Src:立即數(shù),通用存放器,存儲(chǔ)器。,,De
61、st:通用存放器,存儲(chǔ)器。,,例: SUB AL, 37H,,SUB BX, DX,,,,該指令影響標(biāo)志位: A、C、O、P、S、Z標(biāo)志。,,2〕含借位減法指令 SBB(Subtraction with borrow),,格式:SBB dest,src;,,功能:〔dest〕←〔dest〕-〔src〕-C,,Src: 立即數(shù),通用存放器,存儲(chǔ)器,,dest:通用存放器,存儲(chǔ)器,,指令影響標(biāo)志位,,例:SBB BX, 100H,,SBB CX, DX,,SBB WORD PTR 100H[BP], 100,,3〕減 1 指令DEC (Decrement by 1
62、),,格式:DEC dest,,功能: (dest)←〔dest〕-1,,dest: 通用存放器、存儲(chǔ)器。不能是段存放器。,,用途:用于在循環(huán)程序中修改地址指針和循環(huán)次數(shù)。,,標(biāo)志位影響情況:影響S,Z,A,P,O;不影響C。,,4〕求補(bǔ)指令NEG (Negate),,格式: NEG dest ;,,功能:(dest) ← 0 - (dest),,dest : 通用存放器 、存儲(chǔ)器。,,操作: 把操作數(shù)按位求反后末位+1。,,影響標(biāo)志:A、C、O、P、S、Z。,,C: 操作數(shù)為0時(shí)求補(bǔ),C=0 ; 一般使C=1.,,O: 對(duì)-128 或-32768求補(bǔ),
63、O=1; 否那么O=0.,,5) 比較指令CMP(Compare),,格式:CMP dest,src ; 〔dest〕-〔src〕,,結(jié)果不保存,只是用來(lái)影響標(biāo)志位。,,影響標(biāo)志:A、C、O、P、S、Z。,,src:立即數(shù),通用存放器,存儲(chǔ)器。,,dest:通用存放器,存儲(chǔ)器。,,例: CMP AL,0AH ;存放器與立即數(shù)比較,,CMP CX, DI ;存放器與存放器比較,,CMP AX, [1000H] ;存放器與存儲(chǔ)器比較,,CMP [BX+5], SI ;存儲(chǔ)器與存放器比較,,用途:,,用比較指令來(lái)比較兩個(gè)數(shù)之間的關(guān)系:,,兩者是否相等,兩個(gè)數(shù)中大小關(guān)系。
64、,,〔1〕根據(jù)Z標(biāo)志,判斷兩者是否相等;,,〔2〕根據(jù)C標(biāo)志, 判斷兩個(gè)無(wú)符號(hào)數(shù)的大?。?,〔3〕用S、O標(biāo)志,判斷兩個(gè)帶符號(hào)數(shù)的大小。,,算術(shù)運(yùn)算對(duì)標(biāo)志位的影響舉例:,,1111 1111對(duì)應(yīng)無(wú)符號(hào)數(shù)為255,有符號(hào)數(shù)-1;,,1000 0010對(duì)應(yīng)無(wú)符號(hào)數(shù)130,有符號(hào)數(shù)-126;,,1111 1101對(duì)應(yīng)無(wú)符號(hào)數(shù)253,有符號(hào)數(shù)-3;,,求:1111 1111 +1000 0010 =1000 0001,,結(jié)果的無(wú)符號(hào)數(shù)為,129,,有符號(hào)數(shù)為-127,; C=1 O=0,,求:1111 1101+1000 0010=0111 1111,,結(jié)果的無(wú)符號(hào)數(shù)為,127,,有符號(hào)數(shù)為,127,
65、;C=1;O=1,,算術(shù)運(yùn)算指令執(zhí)行這些運(yùn)算時(shí),自動(dòng)地將相關(guān)標(biāo)志位置為相應(yīng)的狀態(tài)。,,如何用CMP指令判兩個(gè)有符號(hào)數(shù)的大小:,,CMP X1,X2,,用S標(biāo)志和O標(biāo)志做異或運(yùn)算,假設(shè)異或結(jié)果為0,那么X1>X2;否那么X1 66、L),,,MUL BL ;,,,AX ← (AL)*(BL),,MUL BX;,,,AX ← (AX)*(BX)的低16位,,DX ← (AX)*(BX)的高16位,,,MUL AX;,,,,4、除法指令,1〕無(wú)符號(hào)除法〔DIV〕,,格式:DIV SRC,,操作:,,字節(jié)除數(shù):AL ← (AX)/(SRC) 之商,,AH ← (AX)/(SRC) 之余數(shù),,字除數(shù): AX ← (DX:AX)/(SRC)之商,,DX ← (DX:AX)/(SRC) 之余數(shù),,2〕帶符號(hào)除法〔IDIV〕,,格式:IDIV SRC,,操作:同DIV指令,,商和余數(shù)是帶符號(hào)的:商的符號(hào)符合一般代數(shù)符號(hào)規(guī)那么,余數(shù)的符號(hào)與被除數(shù)相同。,,3〕字節(jié)擴(kuò)展指令〔CBW〕 〔略〕,,格式:CBW ;Convert Byte to Word,,功能:將AL 字節(jié)擴(kuò)展成字,符號(hào)位及高字節(jié)在AH中;,,4〕字?jǐn)U展指令〔 CWD〕 〔略〕,,格式:,,CWD ;Convert Word to Double Word,,功能:AX擴(kuò)展成雙字,符號(hào)位及高字在DX中;,,這兩條指令的作用是對(duì)被除數(shù)AL或AX進(jìn)行擴(kuò)展
- 溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 專(zhuān)題黨課講稿:以高質(zhì)量黨建保障國(guó)有企業(yè)高質(zhì)量發(fā)展
- 廉政黨課講稿材料:堅(jiān)決打好反腐敗斗爭(zhēng)攻堅(jiān)戰(zhàn)持久戰(zhàn)總體戰(zhàn)涵養(yǎng)風(fēng)清氣正的政治生態(tài)
- 在新錄用選調(diào)生公務(wù)員座談會(huì)上和基層單位調(diào)研座談會(huì)上的發(fā)言材料
- 總工會(huì)關(guān)于2025年維護(hù)勞動(dòng)領(lǐng)域政治安全的工作匯報(bào)材料
- 基層黨建工作交流研討會(huì)上的講話發(fā)言材料
- 糧食和物資儲(chǔ)備學(xué)習(xí)教育工作部署會(huì)上的講話發(fā)言材料
- 市工業(yè)園區(qū)、市直機(jī)關(guān)單位、市紀(jì)委監(jiān)委2025年工作計(jì)劃
- 檢察院政治部關(guān)于2025年工作計(jì)劃
- 辦公室主任2025年現(xiàn)實(shí)表現(xiàn)材料
- 2025年~村農(nóng)村保潔員規(guī)范管理工作方案
- 在深入貫徹中央8項(xiàng)規(guī)定精神學(xué)習(xí)教育工作部署會(huì)議上的講話發(fā)言材料4篇
- 開(kāi)展深入貫徹規(guī)定精神學(xué)習(xí)教育動(dòng)員部署會(huì)上的講話發(fā)言材料3篇
- 在司法黨組中心學(xué)習(xí)組學(xué)習(xí)會(huì)上的發(fā)言材料
- 國(guó)企黨委關(guān)于推動(dòng)基層黨建與生產(chǎn)經(jīng)營(yíng)深度融合工作情況的報(bào)告材料
- 副書(shū)記在2025年工作務(wù)虛會(huì)上的發(fā)言材料2篇
相關(guān)資源
更多