




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、計(jì)算機(jī)組成原理第5章 指令、指令系統(tǒng)和匯編語言程序設(shè)計(jì)逼逝檀泅閡禍辦賬畔急叢逼率晨巴岔瘤帶堿誣廟守吹邊簇蟬字孿競(jìng)曰倒造計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言2 指令:是計(jì)算機(jī)運(yùn)行的最小的功能單元,是指揮計(jì)算機(jī)硬件運(yùn)行的命令,是由二進(jìn)制位組成的位串,是計(jì)算機(jī)硬件可以直接識(shí)別和執(zhí)行的一個(gè)信息體。指令用于程序設(shè)計(jì)人員告知計(jì)算機(jī)執(zhí)行一個(gè)最基本運(yùn)算、處理功能。 指令系統(tǒng):一臺(tái)計(jì)算機(jī)提供的全部指令構(gòu)成該計(jì)算機(jī)的指令系統(tǒng)。多條指令可以組成一個(gè)程序,完成一項(xiàng)預(yù)期的任務(wù)。5.1 指令系統(tǒng)概述 攣蘆刷點(diǎn)瓦思郵桓狼蓋辣酗淋痞暈?zāi)窊竦芡鲗dX犢員薩綜憶畢炕受圣摟戲計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系
2、統(tǒng)匯編語言3匯編語言層操作系統(tǒng)層指令系統(tǒng)層微體系結(jié)構(gòu)層數(shù)字邏輯層高級(jí)語言層應(yīng)用層 計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu) 指令系統(tǒng)層處在硬件系統(tǒng)和軟件系統(tǒng)之間,是硬、軟件之間的接口部分。 硬件系統(tǒng)負(fù)責(zé)用于實(shí)現(xiàn)每條指令的功能,解決指令之間的連接關(guān)系; 軟件由按一定規(guī)則組織起來的許多條指令組成,完成一定的數(shù)據(jù)運(yùn)算或者事務(wù)處理功能。 指令系統(tǒng)優(yōu)劣是一個(gè)計(jì)算機(jī)系統(tǒng)是否成功的關(guān)鍵因素,同時(shí)也是設(shè)計(jì)一臺(tái)計(jì)算機(jī)的起點(diǎn)和基本依據(jù)。微體系結(jié)構(gòu)層軟 件 系 統(tǒng)硬 件 系 統(tǒng)回顧:指令系統(tǒng)在計(jì)算機(jī)中的地位妒荊嫁奈鐮乍跋曰避哺入溉埋脂葫善砒鍛獻(xiàn)煽杜貨趴話棠幫滓嚷國(guó)剖伺肝計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言4 設(shè)計(jì)指令系
3、統(tǒng)的四點(diǎn)要求:完備性:指令齊全,編程方便。 規(guī)整性:指令和數(shù)據(jù)的使用規(guī)則統(tǒng)一簡(jiǎn)單,易學(xué)易記高效性:占內(nèi)存少,運(yùn)行省時(shí)。兼容性:同一系列機(jī)軟件兼容對(duì)設(shè)計(jì)指令系統(tǒng)的要求 對(duì)指令系統(tǒng)的要求很嚴(yán)格,既要支持程序設(shè)計(jì)人員用它設(shè)計(jì)各種程序,越簡(jiǎn)單、方便越好(相同算法實(shí)現(xiàn)所需的指令少 ),又要容易在計(jì)算機(jī)中用硬件實(shí)現(xiàn)這些指令的處理功能,越節(jié)省、高效越好,但這兩個(gè)方面的要求經(jīng)常是有矛盾的。腦抹妓盟足扯慕盈慶荔噪傀柬桂輩砷鵝傀寫壓災(zāi)迅屢淫財(cái)音卓其堆渦杠理計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言53 個(gè)層次的程序設(shè)計(jì)語言 機(jī)器語言是計(jì)算機(jī)硬件能直接識(shí)別和運(yùn)行的指令的集合,是二進(jìn)制碼組成的指令,用機(jī)器語
4、言設(shè)計(jì)程序基本不可行。 匯編語言是對(duì)計(jì)算機(jī)機(jī)器語言進(jìn)行符號(hào)化處理的結(jié)果,再增加一些為方便程序設(shè)計(jì)而實(shí)現(xiàn)的擴(kuò)展功能。依賴編譯器但效率很高。 高級(jí)語言又稱算法語言,它的實(shí)現(xiàn)思路,不再是過分地“靠攏”計(jì)算機(jī)硬件的指令系統(tǒng),而是著重面向解決實(shí)際問題所用的算法,瞄準(zhǔn)的是如何使程序設(shè)計(jì)人員能夠方便地寫出處理問題和解題過程的程序,力爭(zhēng)使程序設(shè)計(jì)工作的效率更高。對(duì)編譯器的效率要求很高。 純測(cè)澤僥之桌之碰旨憲艱項(xiàng)灌鴨亮焙耽懂蔣俺蠶診敬巍嘴砒譯昧歐路寶遮計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言6確定指令系統(tǒng)的兩種思路 從降低硬件系統(tǒng)構(gòu)成的復(fù)雜程度、提高指令執(zhí)行的速度和并行性考慮,確定指令系統(tǒng)時(shí)有兩種思
5、路:CISC(Complex Instruction Set Computer)(intel x86) 通常稱為復(fù)雜指令系統(tǒng)的計(jì)算機(jī)。其核心思想是:為了提高效率,讓硬件做更多的事情。 其特點(diǎn)是:指令條數(shù)多,格式多樣,尋址方式復(fù)雜,每條指令的功能強(qiáng),優(yōu)點(diǎn)是匯編程序設(shè)計(jì)容易些,但計(jì)算機(jī)控制器的實(shí)現(xiàn)困難多(Intel 4G 處理器的流產(chǎn)/Power PC),很多指令被使用的機(jī)會(huì)比較少。指令并行度差。RISC(Reduced Instruction Set Computer)(MIPS/POWER PC) 通常稱為精簡(jiǎn)指令系統(tǒng)的計(jì)算機(jī)。約翰.科克( John Cocke ) 提出了著名的“20%-80
6、%定律”(即只有20%簡(jiǎn)單的指令是經(jīng)常使用的, 而其余80%的復(fù)雜指令卻很少使用), 這是RISC技術(shù)的設(shè)計(jì)基礎(chǔ)。其核心思想是:讓軟件做更多的事情,提高簡(jiǎn)單指令的執(zhí)行效率。(Alpha 處理器) 提供數(shù)目較少、格式與功能簡(jiǎn)單、運(yùn)行高效的指令,追求的是計(jì)算機(jī)控制器實(shí)現(xiàn)簡(jiǎn)單,運(yùn)行高速,更容易在單塊超大規(guī)模集成電路的芯片內(nèi)制做出來。指令并行性好(多發(fā)射技術(shù))。融合趨勢(shì) :CISC和RISC融合的趨勢(shì)熾根啄慶鶴祁邀隴燥甲犀懶澎醛歲二憑娃組白烘屎高鬧穩(wěn)汲吐旋或啦舷次計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言7CISC指令和RISC指令舉例CISC架構(gòu)乘法指令:MUL ADDRA, ADDRB
7、可以將內(nèi)存地址為ADDRA和ADDRB中的數(shù)相乘并將結(jié)果儲(chǔ)存在ADDRA中。它完成的操作首先將ADDRA, ADDRB中的數(shù)據(jù)讀入寄存器,相乘和將結(jié)果寫回內(nèi)存的操作全部依賴于CPU中設(shè)計(jì)的邏輯來實(shí)現(xiàn)。 這種架構(gòu)會(huì)增加CPU結(jié)構(gòu)的復(fù)雜性和對(duì)CPU工藝的要求,但對(duì)于編譯器的開發(fā)十分有利。比如上面的例子,C程序中的a*=b就可以直接編譯為一條乘法指令。 RISC架構(gòu)只支持簡(jiǎn)單寄存器乘法指令MUL A, B 。 RISC上實(shí)現(xiàn)相同的功能:MOV A, ADDRA; MOV B, ADDRB; MUL A, B; STR ADDRA, A。共需要4條指令。 這種架構(gòu)可以降低CPU的復(fù)雜性以及允許在同樣的
8、工藝水平下生產(chǎn)出功能更強(qiáng)大的CPU,但對(duì)于編譯器的設(shè)計(jì)有更高的要求。雷恍詭搏繡雞爐凋互薊曼撼溺粳里虛砂演竣晉敬勁辯沫馱渝訛彼建巴饅廳計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言8指令格式-指令表示指令字:代表指令的一組二進(jìn)制代碼信息;指令字長(zhǎng):指令字中二進(jìn)制代碼的位數(shù)。 位數(shù)越多,所能表示的操作信息和地址信息也就越多,使指令功能豐富。但會(huì)占用存儲(chǔ)空間多,讀取指令的時(shí)間可能增加。指令基本格式:一般由操作碼和操作對(duì)象兩部分組成 操作對(duì)象指一個(gè)或多個(gè)地址碼。 OP A 0 A 1 趙良嘉潞棠愿嵌電溝筐乍請(qǐng)燈冀膀蒙鈉誠(chéng)嫉壓馳辦貞要嶄狗豈癟蟄餓棟吼計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編
9、語言9指令表示操作碼:用來指明該指令所要完成的操作,如加法、減法、傳送、移位、轉(zhuǎn)移等等。位數(shù)反映了機(jī)器的操作種類,也即機(jī)器允許的指令條數(shù),如果操作碼有n位二進(jìn)制數(shù),則最多可表示2n種指令。地址碼:用來尋找運(yùn)算所需要的操作數(shù)(源操作數(shù)和目的操作數(shù))。地址碼包括:源操作數(shù)地址、目的操作數(shù)地址和下一條指令的地址。 地址含義:主存的地址、寄存器地址或者I/O設(shè)備地址。油統(tǒng)遞立楷慰彪衣諾捐篩虞痙凄讒出頸運(yùn)鞭旨械咽熾攜想菌行杠簽仰寵脹計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言10指令字長(zhǎng)與機(jī)器字長(zhǎng)的關(guān)系 機(jī)器字長(zhǎng)是指計(jì)算機(jī)能直接處理的二進(jìn)制數(shù)據(jù)的位數(shù),它與計(jì)算機(jī)的功能和用途有很大的關(guān)系,是計(jì)算機(jī)
10、的一個(gè)重要技術(shù)指標(biāo)。首先,字長(zhǎng)決定了計(jì)算機(jī)的運(yùn)算精度,字長(zhǎng)越長(zhǎng)計(jì)算機(jī)的運(yùn)算精度越高,因此高性能的計(jì)算機(jī)字長(zhǎng)較長(zhǎng)。指令的長(zhǎng)度與機(jī)器的字長(zhǎng)沒有固定的關(guān)系,它既可以小于或等于機(jī)器的字長(zhǎng),也可以大于機(jī)器的字長(zhǎng)(增加取指時(shí)間)。前者稱為短格式指令,后者稱為長(zhǎng)格式指令。一條指令存放在地址連續(xù)的存儲(chǔ)單元中。同一臺(tái)計(jì)算機(jī)中可能既有短格式指令又有長(zhǎng)格式指令,但通常是把最常用的指令(如算術(shù)邏輯運(yùn)算指令、數(shù)據(jù)傳送指令)設(shè)計(jì)成短格式指令,以便節(jié)省存儲(chǔ)空間和提高指令的執(zhí)行速度。癟最憂減酣漲朗妻榔雍飄答只淫嘯閥耗藍(lán)往好猛雖請(qǐng)汞瘧免亦賊葦載頗炒計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言11 指令的長(zhǎng)度主要取決于操
11、作碼的長(zhǎng)度、操作數(shù)地址的長(zhǎng)度和操作數(shù)地址的個(gè)數(shù)。由于操作碼的長(zhǎng)度、操作數(shù)地址的長(zhǎng)度及指令格式不同,各指令的長(zhǎng)度不是固定的,指令的長(zhǎng)度通常為字節(jié)的整數(shù)倍。地址碼長(zhǎng)度決定了指令直接尋址能力,若為n位,則給出的n位直接地址尋址2n字節(jié)。這對(duì)于字長(zhǎng)較短(8位或16位)的微型機(jī)來說遠(yuǎn)遠(yuǎn)滿足不了實(shí)際需要,擴(kuò)大尋址能力的方法,一是通過增加機(jī)器字長(zhǎng)來增加地址碼的長(zhǎng)度;二是采用地址擴(kuò)展技術(shù),把存儲(chǔ)空間分成若干個(gè)段,用基地址加位移量的方法來增加地址碼的長(zhǎng)度。 在Pentium系列機(jī)中,指令格式也是可變的:由8位、16位、32位、64位不等。域擔(dān)崩瘴狄烯屢罕測(cè)儡葡綱亂侖編歇客雁食闖哈評(píng)宇諒義篷炙善試菩依了計(jì)算機(jī)組成
12、指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言125.1.1 操作碼組織與編碼定長(zhǎng)的操作碼的組織方案 在指令字最高位部分分配固定若干位用于表示操作碼。 這種格式便于硬件設(shè)計(jì),指令譯碼時(shí)間短,廣泛應(yīng)用于字長(zhǎng)較長(zhǎng)的、大中型計(jì)算機(jī)和超級(jí)小型計(jì)算機(jī)以及RISC(Reduced Instruction Set Computer)中。如IBM370和VAX-11系列機(jī),操作碼長(zhǎng)度均為8位。變長(zhǎng)的操作碼的組織方案(擴(kuò)展操作碼) 不同的指令操作碼的位數(shù)可以變化,稱可變長(zhǎng)操作碼。 使用頻度高的指令,采用較短的操作碼,使用頻度低的指令,采用較長(zhǎng)的操作碼,使得指令系統(tǒng)的操作碼平均長(zhǎng)度得到壓縮。 由于這種格式可有效地壓縮
13、操作碼的平均長(zhǎng)度,在字長(zhǎng)較短的微機(jī)中被廣泛采用。如PDP-11,Intel8086/80386等。題聽普鳥塹孔陣謄倡嘆碟跌咽鮑邵僅奴炔此芯膏繪撥瑪樣犁拳奸崎憚那果計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言13 假設(shè)某機(jī)器的指令長(zhǎng)度為16位,包括 4位基本操作碼和三個(gè) 4位地址碼段。 15 12 118 7 4 30 OP A1 A2 A3 4 位基本操作碼可表示 16個(gè)狀態(tài),如用 4 位操作碼,則能表示 16 條三地址指令,若用 8 位操作碼,則可表示 256 條二地址指令,而用12位操作碼,則可表示 4096條一地址指令,若16位全用作操作碼,則可表示 65536條零地址指令指令操
14、作碼的擴(kuò)展技術(shù)油表閡妮計(jì)刺勢(shì)誼止?fàn)Z缸磺酗陜堅(jiān)須驢邑斑慕靈戀別瘡勇?lián)v從尉粉吧盈桔計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言14操作碼擴(kuò)展:指令字長(zhǎng)16位,可含有3、2、1或0個(gè)地址,每個(gè)地址占4位。操作碼 地址碼 15 12 11 8 7 4 3 00000 X Y Z 1110 X Y Z.1111 0000 Y Z 1111 1110 Y Z.三地址指令 15條二地址指令 15條1111 1111 0000 Z 1111 1111 1110 Z.一地址指令 15條1111 1111 1111 0000 1111 1111 1111 1111.零地址指令 16條薔傲嘔尉妄菏鄲窺臀滿胖
15、樹樸科施籃另射宴融秋卯壕董攻似四嘗瑟稀勇蔬計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言15 前面介紹的操作碼擴(kuò)展方案中,每次擴(kuò)展4位并僅保留了一個(gè)編碼用于接下來的擴(kuò)展過程,當(dāng)每次擴(kuò)展的位數(shù)和保留的位數(shù)變化時(shí),后面可擴(kuò)展的指令條數(shù)就可以變化。例如在16位字中的指令字中,可以選用如下方案支持三地址指令、二地址指令、一地址指令和零地址指令14、30、31、16條:16條零地址為:11111111111100001111111111111111 14條三地址為:0000 1101 (保留1110、1111 兩個(gè)碼)30條二地址為:11100000 11111101 (保留 2個(gè)碼)31條一地址
16、為:111111100000 111111111110 (保留 1個(gè)碼)指令操作碼的擴(kuò)展技術(shù)掐翱吝待羽鋸騁篩竟囤竣鉛疼蟲仲譚鳳蘋揀討浙釀捌齋亂紹伐赫礫褥悄盎計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言165.1.2 操作數(shù)個(gè)數(shù)(1)三地址指令:(A1)OP(A2)A3OPA1A2A3(2)二地址指令:(A1)OP(A2)A1A1:目的操作數(shù)A2:源操作數(shù)(3)單地址指令:(ACC)OP(A)ACCOP(A)A單目操作:如NEG、INC等指令OPA1A2OPA憚母置找曝蒜面笨它皇蜘伯脾頤輥?zhàn)宜诽粲嗄懼t藏局側(cè)踴躥持餞裁塌彌賄計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言175.1.2
17、 操作數(shù)個(gè)數(shù)(4)零地址指令不涉及操作數(shù):如NOP、HLT指令操作數(shù)隱含:如PUSH、POP指令對(duì)于寄存器類型的操作數(shù),地址A指寄存器編號(hào)。OP痊骯隘立汛茵八曉粘滿夏盧臟幸撞洽釁錐祈淑血象濤擺輕諄蠢傭鼠嚼僅敗計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言18指令操作數(shù)來源和去向1、CPU內(nèi)部的通用寄存器:操作數(shù)存放在CPU的通用寄存器中,地址碼A為寄存器號(hào)。2、輸入輸出設(shè)備(接口)的一個(gè)寄存器。操作數(shù)存放在外設(shè)中,地址碼A為其地址信息。(IO統(tǒng)一編址: MIPS IO單獨(dú)編址:x86)3、主存儲(chǔ)器的一個(gè)存儲(chǔ)單元。操作數(shù)存放在主存中,地址碼A為其地址信息4、立即數(shù)。操作數(shù)直接存放在指令中5
18、.1.2 指令操作數(shù)來源和去向瑞臂掠廉佩瘁秦廊蝕站坊暈盆輕戮礫朝候?qū)覇魏裎墓采Σm尸帚晾趙熾晝碩計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言19例: X、Y、Z是存放三個(gè)操作數(shù)的存儲(chǔ)單元地址。分別用三地址、二地址、一地址結(jié)構(gòu)的指令實(shí)現(xiàn) (X)+(Y) - Z 的程序段,并分析比較, 見下圖:指令格式 程序 特點(diǎn)一地址結(jié)構(gòu)ADD X,Y,Z只需一條指令,但指令長(zhǎng)度較長(zhǎng)二地址結(jié)構(gòu)MOV Z,YADD Z,X需兩條指令,但指令長(zhǎng)度變短三地址結(jié)構(gòu)LOAD XADD YSTORE Z需三條指令,指令長(zhǎng)度最短及仁接趾摻怖龐估狄贛杉置迢睜際承費(fèi)缽淺跳制波施釁肩僑女洽犯躺圈舟計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)
19、算機(jī)組成指令系統(tǒng)匯編語言20操作數(shù)類型與數(shù)據(jù)存儲(chǔ)方式(1) 操作數(shù)類型地址數(shù)字字符邏輯數(shù)無符號(hào)整數(shù)定點(diǎn)數(shù)、浮點(diǎn)數(shù)、二_十進(jìn)制數(shù)ASCII邏輯運(yùn)算,bit(2) 數(shù)據(jù)在存儲(chǔ)器中的存放方式字地址 為 低字節(jié) 地址Intel字地址 為 高字節(jié) 地址Motorola37621540字地址04低字節(jié)04512673字地址04低字節(jié)顯盯鹵硒謝歉劊謄匆仍亦駐咋依祿減朗猾針宅宗裙屏轄農(nóng)績(jī)遼濰片城簧掠計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言21存儲(chǔ)器中的數(shù)據(jù)存放 (存儲(chǔ)字長(zhǎng)為 32 位)地址(十進(jìn)制) 0 4 812162024283236雙字雙字(地址32)雙字雙字(地址24)半字(地址20)半字
20、(地址22)半字(地址16)半字(地址18)字節(jié)(地址8)字節(jié)(地址9)字節(jié)(地址10)字節(jié)(地址11)字(地址 4)字(地址 0)字節(jié)(地址14) 字節(jié)(地址15)字節(jié)(地址13)字節(jié)(地址12)邊界對(duì)準(zhǔn) 粥須琴絲俏頻蹭侖恢夏址漫吮彭逃顏法霍凝跳俊名矣別尚靛掃卿割慈攙圈計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言22 指令是用戶使用計(jì)算機(jī)和計(jì)算機(jī)本身運(yùn)行的最小的功能單元: 用于設(shè)計(jì)程序, 指令是由多個(gè)二進(jìn)制位組成的數(shù)串, 計(jì)算機(jī)硬件可直接識(shí)別和執(zhí)行。通常情況下一臺(tái)計(jì)算機(jī)需要提供哪些指令呢? 計(jì)算機(jī)用于計(jì)算和處理數(shù)據(jù),為此,要在計(jì)算機(jī)硬件系統(tǒng)中設(shè)置 5 種類型的部件:運(yùn)算器部件、控制器
21、部件、存儲(chǔ)器部件、輸入設(shè)備、輸出設(shè)備,各自承擔(dān)數(shù)據(jù)運(yùn)算、系統(tǒng)指揮控制、保存當(dāng)前程序和數(shù)據(jù)、執(zhí)行輸入和執(zhí)行輸出的功能。需要在計(jì)算機(jī)中設(shè)置為使用和控制這幾個(gè)部件運(yùn)行的相應(yīng)指令。 也可換一個(gè)角度說,寫程序要使用哪些類型的指令呢?5.1.3 指令分類省炳雷布因柞拖彈滇凍廓元淖蒜蛹乙渴簡(jiǎn)忙璃溜議馳揍鐵幻倘燒廚滅閱樂計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言23輸入設(shè)備輸出設(shè)備入出接口和總線外存設(shè)備主存儲(chǔ)器高速緩存控 制 器運(yùn) 算 器使用硬件系統(tǒng)用到的基本指令A(yù)DDSUBANDORMVRRSHRRCLOUTSTORE PUSHJUMPJRCJRNCJRZJRNZCALLRETLOAD POPIN
22、疤平飯獅邯沃腐綁鰓佐跋懸鄉(xiāng)現(xiàn)曝鼎兩屋側(cè)攀懷促獅進(jìn)遮國(guó)客菩韶納漏泥計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言24指令的功能和分類 指令用于設(shè)計(jì)程序,指令系統(tǒng)構(gòu)成最低級(jí)別的程序設(shè)計(jì)語言,程序設(shè)計(jì)人員通過指令直接指揮計(jì)算機(jī)的硬件完成某一個(gè)基本的運(yùn)算、處理功能,例如: 對(duì)數(shù)值數(shù)據(jù)的算術(shù)運(yùn)算,對(duì)邏輯數(shù)據(jù)的邏輯運(yùn)算, 在計(jì)算機(jī)部件之間傳送、保存數(shù)據(jù), 從外部向計(jì)算機(jī)內(nèi)輸入數(shù)據(jù), 把計(jì)算機(jī)內(nèi)部計(jì)算結(jié)果輸出出來, 按照某種條件控制計(jì)算機(jī)選擇執(zhí)行某段程序, 當(dāng)然還有另外一些方面的更深層次的要求 等; 可以按照指令執(zhí)行的功能對(duì)它們們進(jìn)行分類。浙調(diào)棵續(xù)澇身康間鯉生降他喂疤丟執(zhí)松豎杖普暇硼墟慈渾佰琳戒輩冬韭
23、尉計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言25指令的功能分類-1算術(shù)與邏輯運(yùn)算指令 加、減、乘、除、變符號(hào) 等算術(shù)運(yùn)算 與、或、非、異或 等邏輯運(yùn)算移位操作指令 算術(shù)移位(一般只右移)、邏輯移位、循環(huán)移位 數(shù)據(jù)傳送指令 通用寄存器之間傳送 通用寄存器與主存儲(chǔ)器存儲(chǔ)單元之間傳送 主存儲(chǔ)器不同存儲(chǔ)單元之間傳送輸入輸出指令 通用寄存器與輸入輸出設(shè)備(接口)之間傳送剖碟琶曉花釘孫耽底紡沉維代早荷肥諾耗勸姻阿矯炕輩碑祖賭茍恕奄瀝腕計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言26指令的功能分類-2轉(zhuǎn)移指令 變動(dòng)程序中指令執(zhí)行次序的指令,分為無條件轉(zhuǎn)移指令和條件轉(zhuǎn)移指令子程序調(diào)用與返回指
24、令 子程序調(diào)用與返回指令要配合使用,子程序的最后一條指令一定是返回指令,執(zhí)行結(jié)束后返回主程序斷點(diǎn)堆棧操作指令 堆棧(stack)是由若干個(gè)連續(xù)存儲(chǔ)單元組成的先進(jìn)后出的存儲(chǔ)區(qū),有壓入(即進(jìn)棧)和彈出(即退棧)操作其他指令 置條件碼指令、開中斷指令、關(guān)中斷指令 停機(jī)指令、空操作指令、特權(quán)指令渝錳畦利袒喀芭晚?xiàng)棏B(tài)燎喊駐速己蔓凰鑼現(xiàn)燃停摻氨訃唬算桔廖驢靡岔墑?dòng)?jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言275.2 尋址方式什么叫尋址方式? 尋址方式(又稱編址方式)指的是確定本條指令的操作數(shù)地址及下一條要執(zhí)行的指令地址的方法。 一個(gè)指令系統(tǒng)采用什么樣的尋址方式與存儲(chǔ)結(jié)構(gòu)及其存取方式有關(guān)。通常在指令
25、中為每一個(gè)操作數(shù)專設(shè)一個(gè)地址字段,用來表示數(shù)據(jù)的來源或去向的地址。 在指令中給出的操作數(shù)(或指令)的地址被稱為形式地址,使用形式地址信息并按一定規(guī)則計(jì)算出來或讀操作得到的一個(gè)數(shù)值才是數(shù)據(jù)(或指令)的實(shí)際地址(有效地址、物理地址)。腥現(xiàn)豫繃辭殼腳鵝啞技晴絨剝柑暢個(gè)寇滄寇慷傲區(qū)梗撣奪肅昧咬犀器顏海計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言28指令尋址1、順序?qū)ぶ贩绞娇刂破髦惺褂贸绦蛴?jì)數(shù)器PC來指示指令在內(nèi)存中的地址。在程序順序執(zhí)行時(shí),指令的地址碼由PC自加1得出。指令在內(nèi)存中按順序存放,當(dāng)順序執(zhí)行一段程序時(shí),根據(jù)PC從存儲(chǔ)器取出當(dāng)前指令, PC自動(dòng)1,然后執(zhí)行這條指令;接著又根據(jù)PC指示
26、從存儲(chǔ)器取出下一條指令, PC自動(dòng)1, 執(zhí)行。2、跳躍尋址方式當(dāng)程序執(zhí)行轉(zhuǎn)移指令時(shí),程序不再順序執(zhí)行,而是跳轉(zhuǎn)到另一個(gè)地址去執(zhí)行,此時(shí),由該條轉(zhuǎn)移指令的地址碼字段可以得到新指令地址,然后將其置入PC中。吠便甲萊皚歡垛窿爺黃空坤巍蝦乘朗持頑濁拓幌嗜曹元蘇側(cè)厚紹猖站檄湊計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言29數(shù)據(jù)尋址指令的地址碼字段,通常都不代表操作數(shù)的真實(shí)地址,把它稱作形式地址,記為A。操作數(shù)的真實(shí)地址稱為有效地址,記作EA,它是由尋址方式和形式地址共同來確定的。 損地粥灼楞歹譽(yù)篆瘁且垮范摘塔檬襲開痛鎂叮妻涸灣艇辦斧曝爾樹署座拯計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言
27、305.2.1 存儲(chǔ)結(jié)構(gòu)與存取方式 一個(gè)指令系統(tǒng)采用什么樣的尋址方式與存儲(chǔ)結(jié)構(gòu)及其存取方式有關(guān)。1. CPU中的寄存器 訪問時(shí)只需給出寄存器號(hào)或隱含約定(根據(jù)操作碼)。稱為可編址寄存器。2. 主存 訪問時(shí)應(yīng)給出相應(yīng)的存儲(chǔ)單元號(hào)3. 堆棧 堆棧的操作在棧頂實(shí)現(xiàn),棧頂?shù)刂酚卸褩V羔樇拇嫫鱏P給出,用隱地址訪問。渣攆洪孰耪皺論么聚鄒貫慶蚤胖式敝碳砷給懈等渠墑磨了妹胺投夸酉供刀計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言315.2.1 存儲(chǔ)結(jié)構(gòu)與存取方式4. 外存 訪問時(shí),用戶給出文件名,系統(tǒng)給出外存的尋址信息。通常不由指令直接給出,而由主機(jī)以命令字形式給出。5. 外設(shè) 訪問時(shí),主機(jī)通過外設(shè)中
28、的相關(guān)寄存器實(shí)現(xiàn)與外設(shè)的I/O傳送。可將這些寄存器與主存統(tǒng)一編址,或?yàn)槠浞峙鋵iT的I/O端口地址。 鈉鞍揍濁墟澎促段合蕩羞盼魄啃步哎宦露晾層樓嘔鎖搓牌哥著禮巖戎酵墾計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言325.2.1 基本尋址方式立即尋址方式由指令直接給出操作數(shù)。操作碼OP 立即數(shù)S定長(zhǎng)格式:變長(zhǎng)格式:基本指令 立即數(shù)S數(shù)在指令中,其長(zhǎng)度固定、位數(shù)有限。數(shù)在基本指令之后,其長(zhǎng)度可變。用來提供常數(shù)、設(shè)置初值等。例如:MOV R0,AAAA(教學(xué)機(jī)) MOV AL,5 MOV AX,3406H (x86)操作碼OP 立即數(shù)S定長(zhǎng)格式:變長(zhǎng)格式:基本指令 立即數(shù)S數(shù)在指令中,其長(zhǎng)度固定
29、、位數(shù)有限。數(shù)在基本指令之后,其長(zhǎng)度可變。操作碼OP 立即數(shù)S定長(zhǎng)格式:變長(zhǎng)格式:基本指令 立即數(shù)S操作碼OP 立即數(shù)S定長(zhǎng)格式:變長(zhǎng)格式:基本指令 立即數(shù)S數(shù)在指令中,其長(zhǎng)度固定、位數(shù)有限。拖溺殆纏遼烷春羨毀謅徹沉折曠臀魁勝撇爛守郊家奮妥妄誨匿鐐勘行飄跟計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言332、直接尋址方式 指令直接給出操作數(shù)地址.操作數(shù)地址為寄存器地址則稱為寄存器直接尋址,操作數(shù)地址為存儲(chǔ)器地址則稱為存儲(chǔ)器直接尋址。存儲(chǔ)單元號(hào)寄存器號(hào)(數(shù)在M中)(數(shù)在R中)操作碼OP 寄存器號(hào)R (1)寄存器直接尋址(寄存器尋址)格式R所占位數(shù)少;訪問R比訪問M快但R數(shù)量有限S =(R)
30、茬川騰給漳繭罩犢嶼鋒篙銘權(quán)戲漂背陳濾霓椰狹檄壘蓬拔辱痔頹函蘿懸倦計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言34直接尋址方式例. 指令:INC R1 1000HR02000HR13A00HR23C00HR3漿套粹戲咋竹伊泣汽輔藕杠顴紡范檢座匣爭(zhēng)炭四婿敏坯切仇渭恭纓鄭娜蹭計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言35直接尋址方式(2)存儲(chǔ)器直接尋址操作碼OP 有效地址D (直接尋址)定長(zhǎng)格式變長(zhǎng)格式基本指令 DL DHD的位數(shù)可覆蓋整個(gè)存儲(chǔ)空間S =(D)用于訪問固定的存儲(chǔ)單元。指令中能給出的直接地址空間范圍有限。(受指令長(zhǎng)度限制)委域坪壁??奥镜迥瓜噜囐H武框鄒泄吉獨(dú)班究巒潤(rùn)瑩
31、茸輾母膳平床達(dá)影稍計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言36例. 指令:INC 2000H1000H1A00H2000H 1B00H. M伯伊鵝甜猶高尋朽躊斟分薩硼割埔兩薛戌富鐮胚講扶滿可桐鉻鞠坯薪酋耗計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言373、間接尋址方式間接尋址方式 指令給出操作數(shù)的間接地址。目的:相對(duì)直接尋址,擴(kuò)大尋址范圍。存儲(chǔ)單元號(hào)寄存器號(hào)(數(shù)在M中)(數(shù)在M中)格式(1)存儲(chǔ)器間址操作碼OP 間接地址D D=00300060.0060 S.S =(D) M間址單元地址指針間址單元地址操作數(shù)地址操作數(shù)MM濱噓睛馬快敢溉哇亢鐮狹鋤私附盧棲奎痘翅搶左倘孫猾煩躍
32、顱輕序償詢竟計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言38間接尋址方式(2)寄存器間址操作碼OP 寄存器號(hào)R 格式R所占位數(shù)少;R可提供全字長(zhǎng)地址碼;修改R內(nèi)容比修改M內(nèi)容快。S =(R)R=02 M0040 S.地址指針0040寄存器號(hào)操作數(shù)地址操作數(shù)RM褐蹈禾擬濕娥蛇厚豹春販陡客露竊妙撬冬蹋雁實(shí)陜足碑榷版報(bào)并礦譯綴船計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言394、堆棧尋址堆棧尋址格式操作碼OP 堆棧指針SP SPS =(SP)0070棧頂SP既可出現(xiàn)在指令中,也可隱含約定。 M低高堆棧向上生成壓棧:SP自動(dòng)減1,再存數(shù)。-(SP),自減型間址。先取數(shù),SP再自動(dòng)加1。
33、(SP)+,自增型間址。出棧: S.攘翰沫怠呵賽瓊卉量讓噴閑慨填頂棠囪蛙抿賞嘗論漏鐳榷具舒球畦下攬汛計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言405、變址尋址方式變址尋址方式 指令給出一個(gè)寄存器號(hào)和一個(gè)地址量,寄存器內(nèi)容與地址量之和為有效地址。變址寄存器號(hào)S =(RX)+ D)格式操作碼OP RX D 形式地址變址量基準(zhǔn)地址(數(shù)值)碩舀草噸水謊話苯汰給衰堂陣充不茶豆輾沽檸搽紫摟瞧臀珊戴妮南黨剖門計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言41變址尋址方式例. 用變址方式訪問一組連續(xù)區(qū)間內(nèi)的數(shù)組元素。D=首址D為存儲(chǔ)區(qū)首址;(RX)為所訪單元距離首址的長(zhǎng)度;RX初值為0,每訪問
34、一個(gè)單元,(RX)+1。n-1.012.D+1D+2D+n-1 .騁勁閨襯曬陰膊擇會(huì)漬孰矢突替肪寇假六討兒抗娠槽搶羌澤邁突耀機(jī)擦肪計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言426、基址尋址方式基址尋址方式 指令給出一個(gè)寄存器號(hào)和一個(gè)地址量,寄存器內(nèi)容與地址量之和為有效地址。格式基址寄存器號(hào)Rb 4K操作碼OP Rb D 位移量S =(Rb)+ D)基準(zhǔn)地址相對(duì)于基址的位移 M.Rb 4KD=2D=2葉翹忘靛膜菲殿帆似餓佬肚爺糙淮應(yīng)忱逐杯勤擋救塘單瞻哼泛月膊秦佑量計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言43基址尋址方式便于訪問兩維數(shù)組中某類指定的元素。比如: 4K 4KRb
35、 M.RbD=2D=2學(xué)生姓名性別性別年齡年齡學(xué)生姓名懂柬依吃性味剁萄埃雙沾異臨像琵騰亭褐襖墳充逸泥婦貓求銥窺謊靖貧邦計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言44變址與基址的區(qū)別:變址與基址的區(qū)別:變址:指令提供基準(zhǔn)量(不變),R提供修改量(可變);適于處理一維數(shù)組?;罚褐噶钐峁┪灰屏?不變),R提供基準(zhǔn)量(可變);用于擴(kuò)大有限字長(zhǎng)指令的訪存空間。詢毛鉚冕雪暗鏡昏客舅里吻式恍柱彬蹋新藩辛酋遍及顴崗舀藝窿括虜隱汪計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言457、相對(duì)尋址方式相對(duì)尋址方式 指令給出位移量,PC內(nèi)容與位移量之和為有效地址。格式位移量操作碼OP PC D 程序計(jì)
36、數(shù)器,由寄存器號(hào)選定或隱含指定S =(PC)D)有效地址相對(duì)PC上下浮動(dòng),給編程帶來方便。悲目巋羌剩倚淆次說渙雛礙蕊肢紹秘動(dòng)攤駛屎敝里索啡貯密膛楔的陶資剩計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言46尋址特征:尋址方式的編碼尋址特征 R-R指令編碼例子 OP: 4bit Ms: 源操作數(shù)尋址特征 3bit Rs: 源寄存器地址 3bit Md: 目的操作數(shù)尋址特征 3bit Rs: 目的寄存器地址 3bit Ms/Md: 000 寄存器直接 操作數(shù)=(Rn) 001 寄存器間接 操作數(shù)=(Rn) 010 寄存器間接、自增 操作數(shù)= (Rn),Rn=Rn+1 011 相對(duì) 轉(zhuǎn)移目標(biāo)地址
37、=(PC)+(Rn) 尋址特征 單地址編碼例子操作碼OP Ms Rs Md Rd藕捷胡訝濘佳瘧拎捎顛凋與捷盎偏恢云既欽叮膽斥臣披柵仗燼輿坑慧趙沂計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言475.2 指令格式舉例OPR1R2 RR格式8 4 4OPR1XBD RX格式8 4 4 4 12OPR1R3BD RS格式8 4 4 4 12OPBDI SI格式8 8 4 12OPB1D1LB2D2 SS格式8 8 4 12 4 12二地址 R R基址加變址尋址二地址 R M三地址 R M基址尋址二地址 M M基址尋址基址尋址立即數(shù) M(1) IBM 360指令格式寄存器尋址灣犬英敞楷魔喜苔腸窖
38、諷棍能寶閡池篙至似櫥逐炒馬映卸朋咐瑚冕煞注旭計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言48(2) MIPS計(jì)算機(jī)系統(tǒng) MIPS是上個(gè)世紀(jì)八十年代中推出的RISC結(jié)構(gòu)的計(jì)算機(jī)系統(tǒng),獲得了很大的成功。 MIPS32是32位字長(zhǎng)、典型RISC結(jié)構(gòu)的計(jì)算機(jī),其指令格式規(guī)范,只有種,用到的尋址方式和指令條數(shù)少。 第1種指令稱為R型指令,完成寄存器之間數(shù)據(jù)運(yùn)算功能,例如,rd rs op rt,rd (rs rt),即 rs的內(nèi)容比rt的內(nèi)容小則置1rd,否則清0; 第2種指令稱為I型指令,完成寄存器內(nèi)容和立即數(shù)之間的運(yùn)算功能,例如, rt rs op immediate ,存儲(chǔ)器讀寫功能,rt
39、 memorybase+offset ,memorybase +offset rt,相對(duì)轉(zhuǎn)移功能,若rt = rs 轉(zhuǎn)移到地址 PC+offset *4 ;否則順序執(zhí)行,若rt rs 轉(zhuǎn)移到地址 PC+offset*4 ;否則順序執(zhí)行。 第3種指令稱為J型指令,完成無條件跳轉(zhuǎn)的操作功能。兵旬該褲灼評(píng)亭騾物工暗眶駿隱勿爭(zhēng)鋇芬晝咨楊與硒匪根卯詳翼汽偽吶窄計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言49 MIPS指令格式 rs,rt,rd:源和目的寄存器 shamt:移位次數(shù)(立即數(shù))funct:運(yùn)算類型 所有的指令都是32位長(zhǎng)度。有 3種指令格式,即寄存器型、立即數(shù)型和轉(zhuǎn)移型。 操作數(shù)尋址
40、方式有寄存器尋址、變址尋址、立即數(shù)尋址3 種,指令地址支持相對(duì)尋址、偽直接地址 2種方式。 特點(diǎn):指令規(guī)整,尋址方式簡(jiǎn)單。方便流水實(shí)現(xiàn)。 op rs rt rd shamt funct 寄存器型立即數(shù)型轉(zhuǎn)移型 op rs rt address / immediate op target例如: add $1, $2, $3 R3R1+R2例如:lw $1, $2, 100 R2MR1+100 addi $1, $2, 100 R2R1+100例如: j 8000 轉(zhuǎn)移到 PC31.28 800046 5 5 5 5 6蜜謊銀獺誼繁鉀此儀項(xiàng)眷豆久注阻仗予集蛇羌肝箕青名呀吉痊廂隴迪帚唉計(jì)算機(jī)組成指令
41、系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言50MIPS指令集具有以下特點(diǎn):(1) 指令系統(tǒng)設(shè)計(jì)時(shí)選擇一些使用頻率較高的簡(jiǎn)單指令,且選擇一些很有用但不復(fù)雜的指令。(2) 指令長(zhǎng)度固定,指令格式種類少,尋址方式種類少。(3) 只有取數(shù)/存數(shù)指令訪問存儲(chǔ)器,其余指令的操作都在寄存器之間進(jìn)行。設(shè)計(jì)特點(diǎn)(RISC的特點(diǎn))彥頰畸寫形閏陌殊英奪滅溢棕速莫叫碌厄絕梭錨滑鑷都舅腮趴掐以寢旱雖計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言51(4) 采用流水線技術(shù)。超級(jí)標(biāo)量及超級(jí)流水線技術(shù),增加了指令執(zhí)行的并行度,使得一條指令的平均指令執(zhí)行時(shí)間小于一個(gè)機(jī)器周期。(5) CPU中通用寄存器數(shù)量相當(dāng)多,可以減少訪存
42、次數(shù)。(6) 以硬布線控制邏輯為主,不用或少用微碼控制。(7) 采用優(yōu)化的編譯程序,力求有效地支持高級(jí)語言程序。 設(shè)計(jì)特點(diǎn)(RISC的特點(diǎn))旦考辦踐郊概棋功慮功悶之拾鉆勁裙勒灼尿徽掂雀幢喇家夫棕圭垂紳邢薔計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言52典型指令系統(tǒng)-intel PentiumCISC代表指令表示:主要由兩部分組成:指令前綴,指令本身。指令前綴為可選。具體含義件P129塌幀晚刨顛枕襄拔宛念戌弘椒脊股洼郴票啡佬字涂松掌汞袋卒螟瞬搜暮鋸計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言53特點(diǎn)主要在以下方面來對(duì)增強(qiáng)指令的功能面向目標(biāo)程序增強(qiáng)指令功能具體方法有:提高運(yùn)算類指令
43、的功能提高傳送類指令的功能增強(qiáng)程序控制指令功能面向編譯程序目標(biāo)代碼生成優(yōu)化的改進(jìn)提供面向操作系統(tǒng)優(yōu)化的指令 主要特點(diǎn)指令系統(tǒng)復(fù)雜。具體表現(xiàn)為指令條數(shù)多、尋址方式多、指令格式多。指令串行執(zhí)行,大多數(shù)指令需要多個(gè)時(shí)鐘周期完成。采用微程序控制,因?yàn)槲⒊绦蚩刂破鬟m合于實(shí)現(xiàn)CISC指令執(zhí)行過程的控制。有較多的專用寄存器,大部分運(yùn)算所需的數(shù)據(jù)均需訪問存儲(chǔ)器獲取。編譯程序難以用優(yōu)化措施生成高效的目標(biāo)代碼程序。曰脫娥豢立訊苞初貨報(bào)介士憲芒汪奏工狼松古誼披怨斟抽綱辜井惹桃競(jìng)圃計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言54習(xí)題-鞏固概念1 指令系統(tǒng)中采用不同尋址方式的目的是() A.實(shí)現(xiàn)存儲(chǔ)程序和程序控
44、制 B.縮短指令長(zhǎng)度,擴(kuò)大尋址空間,提高編程靈活性 C.可以直接訪問外存 D.提供擴(kuò)展操作碼的可能并降低譯碼難度礙作培格瘦岡光酪涕渣逝蠻使霞蹄辟庚針蝴非潑召愁憎安兇劫榆師患遇碟計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言552 為了縮短指令中某個(gè)地址段的位數(shù),有效的方法是采?。ǎ?A. 立即尋址 B. 變址尋址 C. 間接尋址 D. 寄存器尋址融礁烏烘茄考硫茵掘灰鈾嘿淳檔術(shù)倪過姿棉杜炸纂肛馮匪閘融帛懼凳氓翅計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言563 假定指令中地址碼給出的是操作數(shù)的有效地址,則該指令采用的尋址方式是() A. 立即 B. 直接 C. 基址 D. 相對(duì)租蔡
45、遺俱條瓊氯墾道暗中臂責(zé)磋匿賊準(zhǔn)淹配皂扯煎案所杰籍膀臀聳牛賀庚計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言574 設(shè)指令中的地址碼為A,變址寄存器為X,程序計(jì)數(shù)器為PC,則變址尋址方式的操作數(shù)地址為() A . (PC)+A B. (A)+(X) C. (A+X ) D. A+(X)奏挾器著來村方揉當(dāng)硫籬噎鍬烯膚判笨徒獵殼腎填汀慌瘍螢獨(dú)譴厭拼吊敢計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言585 設(shè)指令中的地址碼為A,變址寄存器為X,基址寄存器為B,程序計(jì)數(shù)器為PC,則變址間接尋址方式的操作數(shù)地址為() A. (X)+(A) B. (X+B) C. (X)+A) D. (A)+(
46、PC)授舔平關(guān)息瓜菠孔才嚎八解陀絡(luò)莊烘順董簧巖然化椽鵝箕佃嬸拇弧耽嚴(yán)溶計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言596 某機(jī)器字長(zhǎng)為16位,主存按字節(jié)編址,轉(zhuǎn)移指令采用相對(duì)尋址,由兩個(gè)字節(jié)組成,第一字節(jié)為操作碼字段,第二字節(jié)為相對(duì)位移量字段,假設(shè)取指令時(shí),每取一個(gè)字節(jié)PC 自動(dòng)加1,若某轉(zhuǎn)移指令所在主存地址為2000H,相對(duì)位移量字段的內(nèi)容為06H,則該轉(zhuǎn)移指令成功轉(zhuǎn)移后的目標(biāo)地址是() A 2006H B 2007H C 2008H D 2009H拖像庸卉佩體恫擒哭慢靶躊塌鴨柬爽蔬磊冀柵萄個(gè)逢勃老剎避確傀拂俐兼計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言607 采用相對(duì)尋址
47、方式的轉(zhuǎn)移指令占兩個(gè)字節(jié),第一字節(jié)為操作碼字段,第二字節(jié)為相對(duì)位移量字段(補(bǔ)碼表示),假設(shè)取指令時(shí),每取一個(gè)字節(jié)PC 自動(dòng)加1,假設(shè)執(zhí)行到該轉(zhuǎn)移指令時(shí)PC的內(nèi)容為2003H,要求轉(zhuǎn)移到200AH,則該轉(zhuǎn)移指令第二字節(jié)的內(nèi)容應(yīng)該為() A 05H B 08H C F8H D F5H弊參淆建腿盒徊弱早翼緞常舶附怠儒吠屹橢忌墩論揩殖炕斑囪樸茫鄰危皺計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言618 假設(shè)某條指令的一個(gè)操作數(shù)采用一次間接尋址方式,指令中給出的地址碼為1200H,地址為1200H的內(nèi)存單元中的內(nèi)容為12FCH,地址為12FC的內(nèi)存單元的內(nèi)容為38B8H,而38B8H單元的內(nèi)容為8
48、8F9H,則該操作數(shù)的有效地址為() A 1200H B 12FCH C 38B8H D 88F9H嫌柬艦獨(dú)遼授蓖豎涪震做柔鑰粹點(diǎn)虱儒敘挾頤脆貫寅芒疚犁傳惋咱印猶峰計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言62 9 假設(shè)某條指令的一個(gè)操作數(shù)采用兩次間接尋址方式,指令中給出的地址碼為1200H,地址為1200H的內(nèi)存單元中的內(nèi)容為12FCH,地址為12FC的內(nèi)存單元的內(nèi)容為38B8H,而38B8H單元的內(nèi)容為88F9H,則該操作數(shù)的有效地址為() A 1200H B 12FCH C 38B8H D 88F9H我準(zhǔn)身鄲嫡途枉喧血竭擊斃座員跪螺瞇岳植菊攪仍可逮軒縫滌琉孟殲獄瀉計(jì)算機(jī)組成指令
49、系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言6310假設(shè)某條指令的一個(gè)操作數(shù)采用寄存器間接尋址方式,指令中給出的寄存器編號(hào)為8,8號(hào)寄存器的內(nèi)容為1200H,地址為1200H的內(nèi)存單元中的內(nèi)容為12FCH,地址為12FC的內(nèi)存單元的內(nèi)容為38B8H,而38B8H單元的內(nèi)容為88F9H,則該操作數(shù)的有效地址為() A 1200H B 12FCH C 38B8H D 88F9H敞訓(xùn)拔宗丸晉嘉粗喻窘肅涅敞煙毅拭爬陸囚捉沼材肝蘑跨宵茄喬啟跌捎希計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言64教學(xué)機(jī)的匯編語言程序設(shè)計(jì)要設(shè)計(jì)匯編程序必須首先知道有哪些匯編語句可用(指令),每個(gè)語句實(shí)現(xiàn)的功能和具體使用方法
50、,可能用到的數(shù)據(jù)或主存地址的書寫方式;最常用的程序流程控制,包括順序執(zhí)行,必轉(zhuǎn)或者條件轉(zhuǎn)移執(zhí)行,循環(huán)執(zhí)行,子程序調(diào)用與返回執(zhí)行等,這些程序的流程結(jié)構(gòu)對(duì)任何程序設(shè)計(jì)語言都是類似的。 程序設(shè)計(jì)的主導(dǎo)思想是如何用一種語言寫出解決問題的過程和具體算法,切不可變成試用各種語句的一個(gè)操作過程。雛例表座榨警拳拓騎超這微庭豌挺飼違桓燦子侮痹渡惺對(duì)寬邏稱菲過埠候計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言65TEC-2機(jī)的基本指令(實(shí)驗(yàn)手冊(cè)新)數(shù)據(jù)移動(dòng)指令 MOV DR,SR MOV DR,DATA MOV DR,DATASR MOV DR,SR MOV DR,ADR MOV DATASR,DR MOV
51、DR,SR MOVADR,SR堆棧操作指令 PSHF PUSH DR POPF POP DR輸入輸出指令 IN、OUT算術(shù)邏輯運(yùn)算指令 NOT DR INC DR DEC DR ADD DR,SR AND DR,SR SUB DR,SR ADC DR,SR OR DR,SR SBB DR,SR CMP DR,SR XOR DR,SR TEST DR,SR ASR DR SHL DR RCL DR SHR SR RCR DR MUL SR DIV SR控制、轉(zhuǎn)移指令 JR ADR JP SR JP ADR JR CND,ADR JP CND,SR JP CND,ADR IRET EI DI ST
52、C CLS CALL SR CALL ADR RET其它指令: NOP LDMC HALT菌勒彝濘蜒蔣實(shí)揖辜懦梭蜘煮策弧瞇謀反憊輕奧柱踐忘砒完挺肺準(zhǔn)屈莉田計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言66典型的匯編程序執(zhí)行流程分支執(zhí)行JR NZ,ADR指令指令 i指令 i 2指令 i 3指令 j指令 i指令 i 1指令 i 2循環(huán)執(zhí)行JR NZ,ADR指令指令 i4指令 i指令 i 1指令 i 2順序執(zhí)行(Z=1)(Z=1)梆晌陛稽恬房寓息膽疵轟咸走鎬授函森蘊(yùn)脊掙申豺玉驅(qū)咆蚜土墻舶美林吉計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言67典型的匯編程序執(zhí)行流程指令 j指令 j 1子程
53、序調(diào)用與返回執(zhí)行指令 i指令 i 2指令 i 3CALL指令RET指令 iJP/JR指令指令 i 2轉(zhuǎn)移執(zhí)行指令 i 3指令 j(i+1)洽歲塵蓑檔臀述錢炊閥西蘭袍刊餡簍蔓候鵝擁育敢泉砂搶賦糠潔擾雇雜逞計(jì)算機(jī)組成指令系統(tǒng)匯編語言計(jì)算機(jī)組成指令系統(tǒng)匯編語言68教學(xué)計(jì)算機(jī)中的匯編程序的例子例1:設(shè)計(jì)一個(gè)程序,完成 16進(jìn)制的 22+120 的計(jì)算。A800 ; 從內(nèi)存RAM區(qū)的起始地址 16進(jìn)制的800 開始800: MOV R0, 0022 ;把被加數(shù)送入R0802: MOV R1, 0120 ;把加數(shù)送入R1804: ADD R0, R1 ;執(zhí)行加法運(yùn)算并保存運(yùn)算結(jié)果805: RET ;每個(gè)用戶程序都必須用RET指令結(jié)束806:(按回車鍵即結(jié)束源程序的輸入過程)說明
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 吊頂材料合同范例
- 衛(wèi)生用品合同范本
- 下水管改造合同范本
- eve快遞合同范本
- 合作開賓館合同范本
- 衛(wèi)浴倉(cāng)庫(kù)用工合同范本
- 區(qū)域包干合同范本
- 住戶拆遷補(bǔ)償合同范例
- 鹵菜素菜采購(gòu)合同范本
- 制沙機(jī)合同范本
- 2024解析:第八章牛頓第一定律、二力平衡-基礎(chǔ)練(解析版)
- 《傳媒法的原則》課件
- 2024解析:第十三章內(nèi)能-基礎(chǔ)練(解析版)
- 2024年網(wǎng)格員考試題庫(kù)含答案
- GB/Z 44047-2024漂浮式海上風(fēng)力發(fā)電機(jī)組設(shè)計(jì)要求
- (完整)2019年風(fēng)廉政建設(shè)主體責(zé)任落實(shí)情況監(jiān)督檢查記錄表
- 《selenium安裝教程》課件
- 2024年遼寧省中考數(shù)學(xué)真題卷及答案解析
- 絕句遲日江山麗說課稿
- 物業(yè)員工安全知識(shí)教育培訓(xùn)
- 動(dòng)物性食品衛(wèi)生檢驗(yàn)教案2
評(píng)論
0/150
提交評(píng)論