![第4章 指令系統(tǒng)_第1頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-10/24/90f503bd-d67c-4b57-aa68-e3ddfd63fa3f/90f503bd-d67c-4b57-aa68-e3ddfd63fa3f1.gif)
![第4章 指令系統(tǒng)_第2頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-10/24/90f503bd-d67c-4b57-aa68-e3ddfd63fa3f/90f503bd-d67c-4b57-aa68-e3ddfd63fa3f2.gif)
![第4章 指令系統(tǒng)_第3頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-10/24/90f503bd-d67c-4b57-aa68-e3ddfd63fa3f/90f503bd-d67c-4b57-aa68-e3ddfd63fa3f3.gif)
![第4章 指令系統(tǒng)_第4頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-10/24/90f503bd-d67c-4b57-aa68-e3ddfd63fa3f/90f503bd-d67c-4b57-aa68-e3ddfd63fa3f4.gif)
![第4章 指令系統(tǒng)_第5頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-10/24/90f503bd-d67c-4b57-aa68-e3ddfd63fa3f/90f503bd-d67c-4b57-aa68-e3ddfd63fa3f5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第4章 指令系統(tǒng)1第4章 指令系統(tǒng)4.1 指令格式4.2 尋址方式4.3 指令類型4.4 復(fù)雜指令系統(tǒng)計(jì)算機(jī)和精簡(jiǎn)指令系統(tǒng)計(jì)算機(jī)4.5 指令系統(tǒng)舉例第4章 指令系統(tǒng)24.1 指令格式4.1.1 指令四要素4.1.2 指令的地址數(shù)目4.1.3 指令的操作碼4.1.4 指令長(zhǎng)度第4章 指令系統(tǒng)34.1.1 指令四要素1)操作碼表征指令的操作特性與功能。n 2n2)源操作數(shù)地址通過(guò)該地址取得所需的操作數(shù)。來(lái)源:寄存器組、主存或虛存、i/o設(shè)備3)目的操作數(shù)地址指出指令的操作結(jié)果被存放的地方。4)下一條指令的地址順序執(zhí)行:隱含(pc)+1 pc改變執(zhí)行順序:顯式指出第4章 指令系統(tǒng)44.1.2 指令的
2、地址數(shù)目n根據(jù)地址碼部分所給出地址的個(gè)數(shù)可分為:零地址指令、一地址指令、二地址指令、三地址指令、多地址指令1)零地址指令只有操作碼,而沒(méi)有地址碼無(wú)需任何操作數(shù)操作數(shù)是隱含的操作碼第4章 指令系統(tǒng)52)一地址指令單操作數(shù)指令隱含第二操作數(shù),如:()()第4章 指令系統(tǒng)63)二地址指令雙操作數(shù)指令()()()進(jìn)一步分類為 mm rr rm第4章 指令系統(tǒng)74)三地址指令 ()()5)多地址指令用于處理成批數(shù)據(jù)第4章 指令系統(tǒng)84.1.3 指令的操作碼1)指令操作碼的兩種編碼方式定長(zhǎng)編碼(固定格式)操作碼長(zhǎng)度固定, 且集中放在指令字的一個(gè)字段中。變長(zhǎng)編碼(可變格式)操作碼的長(zhǎng)度可變,且分散地放在指令
3、字的不同字段中。第4章 指令系統(tǒng)92)可變格式指令的擴(kuò)展技術(shù)指令字中用一個(gè)固定長(zhǎng)度的字段表示基本操作碼,對(duì)于不需要某個(gè)地址碼的指令,可將操作碼擴(kuò)充到地址碼字段。例如:某機(jī)器的指令長(zhǎng)度為16位,其中4位基本操作碼字段,3個(gè)4位地址碼字段,采用操作碼擴(kuò)展技術(shù)可以形成多于16條指令。第4章 指令系統(tǒng)10一種擴(kuò)展方法如下:15條三地址指令,操作碼 0000111015條二地址指令,操作碼 11110000 1111111015條一地址指令,操作碼 111111110000 11111111111016條一地址指令,操作碼 11111111111100001111111111111111 共61條第4章
4、 指令系統(tǒng)11例題:假設(shè)某計(jì)算機(jī)指令長(zhǎng)度為20位,具有二地址指令、一地址指令、零地址指令三類指令形式,在此情況下,這臺(tái)計(jì)算機(jī)地址規(guī)定用6位表示,問(wèn): (1)若操作碼字段固定為8位,現(xiàn)已設(shè)計(jì)出m條二地址指令,n條零地址指令,在此情況下,這臺(tái)計(jì)算機(jī)最多可以設(shè)計(jì)出多少條一地址指令? (2)當(dāng)二地址指令條數(shù)取最大值,且此基礎(chǔ)上一地址指令條數(shù)也取最大值時(shí),計(jì)算這臺(tái)計(jì)算機(jī)最多指令數(shù)是多少? 第4章 指令系統(tǒng)12答:(1)由于操作碼的位數(shù)決定了指令系統(tǒng)的規(guī)模及指令的性質(zhì)。所以一地址指令的條數(shù):28-m-n=256-m-n (2)應(yīng)為255+63+64=382條。第4章 指令系統(tǒng)134.1.4 指令長(zhǎng)度1)指
5、令長(zhǎng)度與機(jī)器字長(zhǎng)的關(guān)系機(jī)器字長(zhǎng)是指計(jì)算機(jī)能直接處理的二進(jìn)制數(shù)據(jù)的位數(shù),它決定了計(jì)算機(jī)的運(yùn)算精度。指令長(zhǎng)度一條指令中包含二進(jìn)制代碼的位數(shù)。單字長(zhǎng)指令、半字長(zhǎng)指令、雙字長(zhǎng)指令使用多字長(zhǎng)指令的目的提供足夠的地址位來(lái)解決訪問(wèn)主存任何單元的尋址問(wèn)題。第4章 指令系統(tǒng)142)等長(zhǎng)指令字結(jié)構(gòu)、變長(zhǎng)指令字結(jié)構(gòu)等長(zhǎng)指令字結(jié)構(gòu)所有指令的長(zhǎng)度都是相等的。指令字結(jié)構(gòu)簡(jiǎn)單,指令譯碼和流水線執(zhí)行較容易。變長(zhǎng)指令字結(jié)構(gòu)指令字長(zhǎng)度隨指令功能而異。指令字結(jié)構(gòu)靈活,能縮短指令的平均長(zhǎng)度,但指令的控制較復(fù)雜。第4章 指令系統(tǒng)154.2 尋址方式n形成操作數(shù)或指令地址的方式,稱為尋址方式。n尋址方式分為兩類指令尋址方式操作數(shù)尋址方式
6、n指令尋址方式順序?qū)ぶ贩绞教S尋址方式第4章 指令系統(tǒng)16n操作數(shù)的尋址方式指令中地址碼字段一般是由形式地址和尋址方式特征位(或字段)組成,并不是操作數(shù)的有效地址(實(shí)際地址)。所謂操作數(shù)的尋址方式,就是形成操作數(shù)的有效地址(ea)的方法。第4章 指令系統(tǒng)17n確定一臺(tái)計(jì)算機(jī)系統(tǒng)的尋址方式,必須綜合考慮以下幾點(diǎn):指令內(nèi)包含的地址盡量短,以縮短指令長(zhǎng)度能訪問(wèn)盡可能大的存儲(chǔ)空間尋址方法盡可能簡(jiǎn)單,簡(jiǎn)化硬件設(shè)計(jì)在不改變指令的情況下,改變地址的實(shí)際值,從而方便地訪問(wèn)數(shù)組、串、表格等復(fù)雜數(shù)據(jù)。第4章 指令系統(tǒng)184.2.1 常用的基本尋址方式1)立即尋址指令的地址字段指出的是操作數(shù)本身。立即尋址方式的特點(diǎn)
7、:指令執(zhí)行速度快;在執(zhí)行過(guò)程,操作數(shù)不能修改。ea=(pc)op m:立即尋址imme第4章 指令系統(tǒng)19指令的地址碼部分直接給出操作數(shù)在存儲(chǔ)器中的地址(有效地址)。有效地址ea=a直接尋址方式的特點(diǎn)簡(jiǎn)單直觀,便于硬件實(shí)現(xiàn);要尋址大容量的主存空間,將造成指令長(zhǎng)度加長(zhǎng)。2)直接尋址 操作數(shù)主存aop m:直接尋址a第4章 指令系統(tǒng)203)間接尋址指令中的地址碼部分給出一個(gè)指示操作數(shù)有效地址的地址指示字;通過(guò)地址指示字找到操作數(shù)的有效地址,再由有效地址找到操作數(shù)。有效地址ea=(a)aeaop m:間接尋址aea主存操作數(shù)第4章 指令系統(tǒng)21間接尋址方式的特點(diǎn):非常靈活,當(dāng)操作數(shù)地址需改變時(shí),不必
8、修改指令,只要修改有效地址中的內(nèi)容即可。一次間接需兩次訪問(wèn)主存才能取得操作數(shù),降低了指令執(zhí)行速度。第4章 指令系統(tǒng)224)寄存器尋址方式操作數(shù)存放在cpu的通用寄存器中。指令中地址碼部分給出某一通用寄存器的編號(hào)。ea=ri操作數(shù)通用寄存器op m:寄存器尋址ri 第4章 指令系統(tǒng)235)寄存器間接尋址指令中地址碼部分所指定的寄存器中內(nèi)容是操作數(shù)的有效地址。有效地址ea=(ri)寄存器間接尋址方式的特點(diǎn)只需訪問(wèn)存儲(chǔ)器一次即可得到操作數(shù);寄存器給出全字長(zhǎng)的地址碼,可尋址較大的存儲(chǔ)空間。ea通用寄存器操作數(shù)主存op m:寄存器間接尋址 ri 第4章 指令系統(tǒng)246)相對(duì)尋址 程序計(jì)數(shù)器pc的當(dāng)前內(nèi)容
9、加上指令給出的形式地址形成操作數(shù)的有效地址。形式地址實(shí)際上規(guī)定了操作數(shù)地址和指令地址的相對(duì)位置,這個(gè)值稱為相對(duì)位移量(disp)。有效地址ea=(pc)+disppcop m disp操作數(shù)dispop m:相對(duì)尋址 disp 第4章 指令系統(tǒng)25相對(duì)尋址方式的特點(diǎn)轉(zhuǎn)移地址不是固定的,隨著pc值的變化而變化,有利于程序的再定位。位移量一般用補(bǔ)碼表示。如果位移量為8位,則尋址范圍為(pc)128(pc)+127。第4章 指令系統(tǒng)26例題:若某計(jì)算機(jī)數(shù)據(jù)線、地址線均是8bit,有一條相對(duì)尋址的無(wú)條件轉(zhuǎn)移指令存于主存的20h單元中,指令給出的位移量d=00010101b,設(shè)該指令占用2個(gè)字節(jié),計(jì)算:
10、(1)取該指令時(shí)pc的內(nèi)容;(2)該指令執(zhí)行結(jié)束時(shí)pc的內(nèi)容。第4章 指令系統(tǒng)277)變址尋址指令地址碼部分給出的形式地址與指令中指定的變址寄存器的內(nèi)容相加開成操作數(shù)的有效地址。有效地址ea=(rx)+a op m:變址尋址 rx a 主存操作數(shù)x通用寄存器ea 第4章 指令系統(tǒng)288)基址尋址指令地址碼部分給出的形式地址與基址寄存器中的內(nèi)容相加形成操作數(shù)的有效地址。有效地址ea=(rb)+aop m:基址尋址 rb a 主存操作數(shù)x通用寄存器第4章 指令系統(tǒng)29n基址尋址中基址寄存器提供基準(zhǔn)量而指令提供位移量;變址尋址中變址寄存器提供修改量而指令提供基準(zhǔn)量。n基址尋址面向系統(tǒng),用于程序定位和
11、擴(kuò)大尋址空間;變址尋址面向用戶,用于訪問(wèn)數(shù)組、向量、字符串等成批數(shù)據(jù),以解決程序的循環(huán)控制問(wèn)題。第4章 指令系統(tǒng)304.2.2 復(fù)合型尋址方式1)基址變址尋址方式ea= (rb)+ (rx)+a2)相對(duì)間接尋址方式ea=(pc)+a)3)間接相對(duì)尋址方式ea=(pc)+(a)4)變址間接尋址方式ea=(rx)+a)5)間接變址尋址方式ea=(rx)+(a)第4章 指令系統(tǒng)31例題:一種單地址指令的結(jié)構(gòu)如下圖所示:opixd其中i為間址特征,x為尋址模式,d為形式地址,設(shè)r為通用寄存器,也可作為變址寄存器。在下表中填入適當(dāng)?shù)膶ぶ贩绞矫Q。第4章 指令系統(tǒng)32尋址方式名稱ix有效地址e000e=d
12、001e=(pc)+d010e=(r)+d011e=r100e=(d)101e=(pc)+d)110e=(r)+d)111e=(r)第4章 指令系統(tǒng)334.3 指令類型n設(shè)計(jì)指令系統(tǒng),應(yīng)考慮如下原則:完整性有效性 擴(kuò)充性 兼容性第4章 指令系統(tǒng)34n指令類型(按指令所完成的功能分類)1.數(shù)據(jù)傳送指令2.算術(shù)邏輯運(yùn)算指令3.移位操作指令4.浮點(diǎn)運(yùn)算指令5.十進(jìn)制運(yùn)算指令6.字符串處理指令7.轉(zhuǎn)移類指令8.堆棧操作指令9.輸入/輸出指令10.其他指令第4章 指令系統(tǒng)351)數(shù)據(jù)傳送指令一般傳送指令用來(lái)實(shí)現(xiàn)主存和寄存器之間、主存和主存、寄存器和寄存器之間的數(shù)據(jù)傳送。數(shù)據(jù)交換指令數(shù)據(jù)塊傳送指令第4章
13、指令系統(tǒng)362)算術(shù)邏輯運(yùn)算指令(1)算術(shù)運(yùn)算指令 這類指令用于定點(diǎn)數(shù)的算術(shù)運(yùn)算如:加、減、乘、除、加1、減1、求補(bǔ)、比較等指令 (2)邏輯運(yùn)算指令與、或、非、異或位操作:測(cè)試、清除、置位、求反等算術(shù)邏輯運(yùn)算指令通常根據(jù)運(yùn)算結(jié)果設(shè)置狀態(tài)位: z、 s 、 c、v、p第4章 指令系統(tǒng)373)移位操作指令算術(shù)移位(帶符號(hào)數(shù))邏輯移位(無(wú)符號(hào)數(shù))循環(huán)移位:大循環(huán)、小循環(huán)雙字移位 c第4章 指令系統(tǒng)384)浮點(diǎn)運(yùn)算指令5)十進(jìn)制運(yùn)算指令6)字符串處理指令如:字符串傳送、字符串比較、字符串查找、字符串提取、字符串轉(zhuǎn)換等7)轉(zhuǎn)移類指令(1)轉(zhuǎn)移指令無(wú)條件轉(zhuǎn)移指令jump條件轉(zhuǎn)移指令branch第4章 指令
14、系統(tǒng)39n轉(zhuǎn)移指令的轉(zhuǎn)移地址一般采用直接尋址的和相對(duì)尋址方式來(lái)確定。采用直接尋址方式,轉(zhuǎn)移地址由指令地址碼部分直接給出。采用相對(duì)尋址方式,則稱為相對(duì)轉(zhuǎn)移,轉(zhuǎn)移地址為當(dāng)前指令地址(pc的值)和指令地址部分給出的位移量相加。第4章 指令系統(tǒng)40n16種可能采用的轉(zhuǎn)移條件p=1 p=0 z=1 z=0s=1 s =0 v=1 v=0 無(wú)符號(hào)數(shù) 帶符號(hào)數(shù)ab c+z=0 (sv)+z =0第4章 指令系統(tǒng)41(2)循環(huán)控制指令(3)調(diào)用指令與返回指令ncall與jump和branch的主要差別是保留返回地址(用堆棧)n保留、恢復(fù)寄存器內(nèi)容的兩種方法由調(diào)用程序保留、恢復(fù)由被調(diào)用程序保留、恢復(fù)第4章 指令
15、系統(tǒng)428)堆棧及堆棧操作指令堆棧是以“先進(jìn)后出”(filo)方式工作的一個(gè)存儲(chǔ)區(qū)。堆棧只有一個(gè)出口,即當(dāng)前棧頂;用堆棧指針寄存器sp指定。壓棧操作:棧底棧頂65h56hpush ax棧頂12h34h1234h第4章 指令系統(tǒng)43 彈棧的操作pop bx34h12h65h56h棧底1234h棧頂棧頂?shù)?章 指令系統(tǒng)44堆棧的兩種生成方式自底向上生成方式(向低地址生長(zhǎng))壓棧 push a ;(sp)-1 sp,(a) (sp)彈棧 pop a ; (sp) a, (sp)+1 sp 自頂向下生成方式(向高地址生長(zhǎng))壓棧 push a ; (sp)+1 sp,(a) (sp)彈棧 pop a ;
16、(sp) a,(sp)-1 sp第4章 指令系統(tǒng)45堆棧用途在一般結(jié)構(gòu)的計(jì)算機(jī)中,堆棧主要用于暫存子程序、中斷調(diào)用時(shí)的返回地址和現(xiàn)場(chǎng)以及用于傳送參數(shù)。通常設(shè)置參數(shù)指針,利用它訪問(wèn)堆棧不受堆棧的filo性質(zhì)的限制在堆棧結(jié)構(gòu)的計(jì)算機(jī)中(如hp-3000),堆棧作為提供操作數(shù)和保存運(yùn)算結(jié)果的主要存儲(chǔ)區(qū),大多數(shù)指令皆訪問(wèn)堆棧(零地址指令)。第4章 指令系統(tǒng)469)輸入/輸出(i/o)指令輸入輸出指令完成主機(jī)與外部設(shè)備間的信息(數(shù)據(jù)信息、狀態(tài)信息、控制信息)傳送。通常輸入輸出指令有三種設(shè)置方式專用i/o指令獨(dú)立編址用通用的數(shù)據(jù)傳送指令實(shí)現(xiàn)i/o操作統(tǒng)一編址通過(guò)i/o處理機(jī)(通道)執(zhí)行i/o操作第4章 指
17、令系統(tǒng)4710)其他指令控制指令完成某種控制功能的指令,如等待指令、停機(jī)指令、空操作指令、開中斷、關(guān)中斷、置條件碼指令等 特權(quán)指令具有特殊權(quán)限的指令。一般保留給操作系統(tǒng)使用。在多用戶、多任務(wù)的計(jì)算機(jī)中必須設(shè)置。用于系統(tǒng)資源的管理和分配。例如:lldt、ltr陷阱指令 例如:8086的int n第4章 指令系統(tǒng)48ncisc 技 術(shù)和risc 技 術(shù) 代 表 著 目 前 計(jì) 算 機(jī) 指 令 系 統(tǒng) 的 兩 個(gè) 截 然 不 同 的 優(yōu) 化 方 向。4.4 復(fù)雜指令系統(tǒng)計(jì)算機(jī)和精簡(jiǎn)指令系統(tǒng)計(jì)算機(jī)n設(shè) 置 一 些 功 能 復(fù) 雜 的 指 令, 把 一 些 原 來(lái) 由 軟 件 實(shí) 現(xiàn) 的、 常 用 的
18、功 能 改 用 硬 件 的 指 令 實(shí) 現(xiàn), 以 提 高 計(jì) 算 機(jī) 的 執(zhí) 行 速 度, 這 種 計(jì) 算 機(jī) 系 統(tǒng) 就 被 稱 為 復(fù) 雜 指 令 系 統(tǒng) 計(jì) 算 機(jī), 即complex instruction set computer, 簡(jiǎn) 稱cisc。第4章 指令系統(tǒng)49n盡 量 簡(jiǎn) 化 計(jì) 算 機(jī) 指 令 功 能, 只 保 留 那 些 功 能 簡(jiǎn) 單、 能 在 一 個(gè) 節(jié) 拍 內(nèi) 執(zhí) 行 完 成 的 指 令, 而 把 較 復(fù) 雜 的 功 能 用 一 段 子 程 序 來(lái) 實(shí) 現(xiàn)。通 過(guò) 簡(jiǎn) 化 計(jì) 算 機(jī) 指 令 功 能, 使 指 令 的 平 均 執(zhí) 行 周 期 減 少, 從 而 提
19、高 計(jì) 算 機(jī) 的 工 作 主 頻, 且 大 量 使 用 通 用 寄 存 器, 來(lái) 提 高 子 程 序 執(zhí) 行 的 速 度。 這 種 計(jì) 算 機(jī) 系 統(tǒng) 被 稱 為 精 簡(jiǎn) 指 令 系 統(tǒng) 計(jì) 算 機(jī), 即reduced instruction set computer, 簡(jiǎn) 稱risc。第4章 指令系統(tǒng)501)risc發(fā)展 1975年,ibm開始研制ibm 801。801是最早開始設(shè)計(jì)的risc處理器,是powerpc的前身。 risc-i機(jī)、risc-ii機(jī)、 mips機(jī)研究成功。 risc-ii是sparc的前身 。從20世紀(jì)80年代末至今,risc體系快速發(fā)展并伴隨64位處理器的出現(xiàn)日
20、趨完善。nrisc技術(shù)開發(fā)思路起源于著名的“8020結(jié)論”,即約20的計(jì)算機(jī)指令完成約80的工作。第4章 指令系統(tǒng)51主流risc芯片主要有:powerpc(ibm)alpha(dec)hppa(hp)ultra sparc(sun)r10000(mips)第4章 指令系統(tǒng)522)risc的主要特征選取使用頻率高的簡(jiǎn)單指令。指令長(zhǎng)度固定,指令格式種類少,尋址方式種類少。只有取數(shù)/存數(shù)指令訪存,其余指令的操作都在寄存器間進(jìn)行。中通用寄存器數(shù)量相當(dāng)多。大部分指令在一個(gè)機(jī)器周期內(nèi)完成。以硬布線控制為主,不用或少用微程序控制。采用高級(jí)語(yǔ)言編程,優(yōu)化編譯以減少程序執(zhí)行的時(shí)間。第4章 指令系統(tǒng)533)ri
21、sc的優(yōu)勢(shì)ncpu執(zhí)行程序所需時(shí)間 p= i*c*ti:機(jī)器指令數(shù)c:每條機(jī)器指令的平均周期數(shù)t:每個(gè)周期的執(zhí)行時(shí)間irisc icisc cisc程序中較復(fù)雜的指令在risc中用子程序完成crisc ccisc risc大部分指令在一個(gè)周期內(nèi)完成trisc tcisc risc完成一個(gè)操作所經(jīng)過(guò)的數(shù)據(jù)通路較短第4章 指令系統(tǒng)544.5 指令系統(tǒng)舉例4.5.1 教學(xué)計(jì)算機(jī)tec-2指令系統(tǒng)4.5.2 pentium指令系統(tǒng)4.5.3 sparc指令系統(tǒng)第4章 指令系統(tǒng)554.5.1 教學(xué)計(jì)算機(jī)tec-2指令系統(tǒng)1)指令格式 (1)單字長(zhǎng)指令(16位)操作碼條件碼目 的 寄 存器號(hào)源 寄 存 器
22、 號(hào)i/o端口地址port或相對(duì)轉(zhuǎn)移位移量disp 高6位:操作碼 ; 9、8位:條件碼(c,z,v,s) 低8位:2個(gè)通用寄存器號(hào)(各4位)/ 相對(duì)轉(zhuǎn)移位移量disp(-128+127)/ i/o端口地址(8位) 第4章 指令系統(tǒng)56操作碼條件碼目 的 寄 存器號(hào)源 寄 存 器 號(hào)i/o端口地址port或相對(duì)轉(zhuǎn)移位移量disp立即數(shù)data或 絕對(duì)地址adr或 變 址位移量offset(2)雙字長(zhǎng)指令(32位)第4章 指令系統(tǒng)572)指令分類(1)指令中的符號(hào)說(shuō)明 op操作碼 dr/sr目的操作數(shù)寄存器/源操作數(shù)寄存器 sp堆棧指針寄存器 pc程序計(jì)數(shù)器 ippc增量前的值(當(dāng)前指令的地址)
23、 cnd測(cè)試條件碼第4章 指令系統(tǒng)58cnd測(cè)試條件碼cnd測(cè)試條件碼op0=1 op0=000cc=1轉(zhuǎn)移 c=0轉(zhuǎn)移01zz=1轉(zhuǎn)移 z=0轉(zhuǎn)移10vv=1轉(zhuǎn)移 v=0轉(zhuǎn)移11ss=1轉(zhuǎn)移 s=0轉(zhuǎn)移第4章 指令系統(tǒng)59(2)按指令的地址數(shù)目和指令功能分類空操作 nop 開/關(guān)中斷 ei/di 進(jìn)位位置位復(fù)位 stc/clc狀態(tài)字入/出棧 pshf/popf返回/中斷返回 ret/iret 動(dòng)態(tài)停機(jī) halt裝入微指令代碼 ldmc 零地址指令(11條)opxxxxxxxxxx第4章 指令系統(tǒng)60 一地址指令(12條)無(wú)符號(hào)乘 mul sr;r0(高位積),r1(低位積) (r1)*(sr
24、)無(wú)符號(hào)除 div sr; r0(余數(shù)),r1(商) (r0)( r1)/(sr)入棧 push dr ;sp(sp)-1 ,(sp) dr出棧 pop dr ;dr (sp),sp(sp)+1opxxxxxxsropxxdrxxxx第4章 指令系統(tǒng)61加1/減1 inc/dec dr ;dr (dr)+1/-1求反 not dr ;dr/(dr)邏輯左移/右移 shl/shr dr算術(shù)右移 asr dr與c循環(huán)左移/右移 rcl/rcr dr 第4章 指令系統(tǒng)62 二地址指令(17條)opxxdrsr 加/帶進(jìn)位加 add/adc dr,sr 減/帶借位減 sub/sbb dr,sr 比較
25、cmp dr,sr ;(dr)-(sr),不送結(jié)果 與/或/異或 and/or/xor dr,sr 測(cè)試 test dr,sr ; (dr)&(sr),不送結(jié)果 傳送 mov dr,sr/ sr mov dr,sr第4章 指令系統(tǒng)63傳送 mov dr,data/adr mov adr,sr mov dr,offsetsr ;dr(offset+(sr) mov offsetsr,dr ;offset+(sr) (dr)opxxdrsr立即數(shù)data/ 絕對(duì)地址adr/ 變 址位移量offset第4章 指令系統(tǒng)64例題:閱讀下列源程序,指出其完成什么功能?mov r8,1111 ;被加數(shù)(高位
26、)mov r9,2222 ;被加數(shù)(低位)mov r10,3333;加數(shù)(高位)mov r11,4444:加數(shù)(低位)add r9,r11 ;低位和adc r8,r10 ;高位和ret ;返回 第4章 指令系統(tǒng)65 i/o指令(2條)輸入 in port ;r0 ( port)輸出 out port ;port (r0)opxxi/o port第4章 指令系統(tǒng)66 轉(zhuǎn)移指令(9條)無(wú)條件絕對(duì)轉(zhuǎn)移 jp sr ;pc(sr)條件絕對(duì)轉(zhuǎn)移 jp cnd,sr ;條件滿足(0或1)pc(sr), 否則 pc(ip)+1opcnd/xxxxxxsr第4章 指令系統(tǒng)67無(wú)條件絕對(duì)轉(zhuǎn)移 jp adr ;p
27、cadr條件絕對(duì)轉(zhuǎn)移 jp cnd,adr ;條件滿足(0或1)pcadr, 否則 pc(ip)+1opcnd/xxxxxxxxxx絕對(duì)地址adr第4章 指令系統(tǒng)68無(wú)條件相對(duì)轉(zhuǎn)移 jr obj ;pc(ip)+位移量disp條件相對(duì)轉(zhuǎn)移 jr cnd,obj ;條件滿足(0或1)pc(ip)+位移量disp, 否則 pc(ip)+1opcnd/xx相對(duì)轉(zhuǎn)移位移量disp第4章 指令系統(tǒng)69例題:閱讀下列源程序,指出其完成什么功能? mov r1,0 ;置累加器初值為0mov r2,0a ;最大加數(shù)mov r3,0 ;加數(shù)初值obj: inc r3 ;加數(shù)add r1,r3 ;累加cmp r3
28、,r2 ;判斷是否累加完jr nz,obj ret ;若完成,返回第4章 指令系統(tǒng)70 子程序調(diào)用指令(2條)opxxxxxxsr調(diào)用 call sr;sp(sp)-1,(sp)(pc), pc(sr)opxxxxxxxxxx絕對(duì)地址adr調(diào)用 call adr;sp(sp)-1,(sp)(pc), pcadr第4章 指令系統(tǒng)714.5.2 pentium指令系統(tǒng)1)程序員所能見到的寄存器(1)通用寄存器 eax、ebx、ecx、edx esp、 ebp、 esi、edi(2)6個(gè)16位的段寄存器 cs、ss、ds、es、fs、gs(3)指令指針和標(biāo)志寄存器 eip、eflags(32位)第4
29、章 指令系統(tǒng)722)pentium在實(shí)模式下32位地址的形成段寄存器(cs、ds、es、fs、gs、ss)基址寄存器(eax、ebx、ecx、edx、esp、ebp、esi、edi)變址寄存器(eax、ebx、ecx、edx、ebp、esi、edi)放大因子1/2/4/8位移量disp(0/8/32)16第4章 指令系統(tǒng)733) pentium的指令格式n指令由:0到4個(gè)可選指令前綴、1或2字節(jié)的操作碼、一個(gè)可選的地址指示器、一個(gè)可選的位移量、一個(gè)可選的立即數(shù)字段組成。(1)前綴0或10或10或10或1指令段取代操作數(shù)大小取代地址大小取代lock或重復(fù)指令前綴顯式指出段寄存器32、16位地址切
30、換32、16位數(shù)據(jù)切換第4章 指令系統(tǒng)74(2)指令1或20或10或10,1,2或40,1,2或4opmod/rmsibdispimmmodreg/opr/m7 65 4 32 1 0ss變址基址7 65 4 32 1 0第4章 指令系統(tǒng)754.5.3 sparc指令系統(tǒng)1)指令類型(1)算術(shù)運(yùn)算/邏輯運(yùn)算/移位指令(2)load/store指令(3)控制轉(zhuǎn)移指令(4)讀/寫專用寄存器指令(5)浮點(diǎn)運(yùn)算指令(6)協(xié)處理器指令第4章 指令系統(tǒng)762) sparc的指令格式nsparc采用等長(zhǎng)指令字結(jié)構(gòu),所有指令均是32位,在存儲(chǔ)器中是字地址對(duì)準(zhǔn)的。nsparc的基本指令格式有三種:格式1 callopdisp30(位移量)31 3029 0格式2 sethibran
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)字化時(shí)代下的客戶分析與銷售策略
- 現(xiàn)代辦公技術(shù)與應(yīng)用實(shí)踐培訓(xùn)
- 數(shù)學(xué)圖形在兒童智力開發(fā)中的作用
- 科學(xué)實(shí)驗(yàn)教學(xué)對(duì)小學(xué)生綜合素質(zhì)的培養(yǎng)策略
- 項(xiàng)目突發(fā)環(huán)境事件應(yīng)急預(yù)案
- 二手車批發(fā)合作合同協(xié)議
- 個(gè)人向個(gè)人臨時(shí)借款合同模板
- 上海市租賃合同模板及示例
- 不銹鋼期貨電子交易合同
- 個(gè)人房屋銷售合同簡(jiǎn)易范本
- 《應(yīng)急管理行政執(zhí)法人員依法履職管理規(guī)定》知識(shí)培訓(xùn)
- 《醫(yī)療機(jī)構(gòu)環(huán)境表面清潔與消毒管理規(guī)范》-華西醫(yī)院案例
- 2024年黑龍江農(nóng)業(yè)工程職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)
- 合同簽訂執(zhí)行風(fēng)險(xiǎn)管控培訓(xùn)
- DB43-T 3022-2024黃柏栽培技術(shù)規(guī)程
- 【壓縮式落葉清掃機(jī)設(shè)計(jì)(論文)6900字】
- 水利水電工程工地試驗(yàn)室建設(shè)導(dǎo)則(征求意見稿)
- 理發(fā)店美容美發(fā)場(chǎng)所衛(wèi)生管理制度
- 成人失禁相關(guān)性皮炎的預(yù)防與護(hù)理
- 人教版(2024新版)七年級(jí)上冊(cè)數(shù)學(xué)第六章《幾何圖形初步》測(cè)試卷(含答案)
- 2025屆高三數(shù)學(xué)一輪總復(fù)習(xí) 第六章 專題六 幾何體的外接球與內(nèi)切球問(wèn)題配套課件
評(píng)論
0/150
提交評(píng)論