freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

計(jì)算機(jī)組成原理--第5章指令系統(tǒng)(參考版)

2025-01-24 23:34本頁面
  

【正文】 。 機(jī)器語言、匯編語言和高級(jí)語言 匯編語言和高級(jí)語言各有其特點(diǎn)和優(yōu)點(diǎn)。兩者的源程序通過編譯或匯編生成目標(biāo) (OBJ)文件后 , 再利用連接程序 (LINKER)把它們連接成可執(zhí)行文件 , 便可在機(jī)器上運(yùn)行 。 為了克服高級(jí)語言不能直接訪問機(jī)器硬件資源 (如某個(gè)寄存器或存儲(chǔ)單元 )的缺陷 , 一些高級(jí)語言 (如 C、PASCAL、 FORTRAN等 )提供了與匯編語言之間的調(diào)用接口 。 由于編譯過程既復(fù)雜又死板 , 翻譯出來的機(jī)器語言程序非常冗長(zhǎng) , 如果讓有經(jīng)驗(yàn)的程序員用匯編語言來編寫同樣功能的程序 , 至少可以節(jié)省 2/3的內(nèi)存空間 , 速度則要快一倍以上 。 高級(jí)語言的表達(dá)方式比較接近于自然語言 , 描述問題的能力強(qiáng) , 通用性 、 可讀性和可維護(hù)性都很好 。 高級(jí)語言 (High Level Language)FORTRAN、 C、PASCAL、 COBOL等就是為了克服匯編語言的這些缺點(diǎn)而發(fā)展起來的 。 同時(shí) , 匯編指令的基本操作簡(jiǎn)單(主要是簡(jiǎn)單的算術(shù) /邏輯運(yùn)算和數(shù)據(jù)傳送 ), 描述問題的能力差 , 用它編寫程序工作量大 , 源程序較長(zhǎng) , 可讀性仍然不好 。 用匯編語言編寫程序 , 對(duì)程序員來說雖然比用機(jī)器語言方便得多 , 編寫的程序可讀性較好 , 出錯(cuò)也便于檢查和修改 , 但它同計(jì)算機(jī)的硬件結(jié)構(gòu) 、 指令系統(tǒng)的設(shè)置關(guān)系非常密切 。 顯然 , 用匯編語言編寫的程序 , 計(jì)算機(jī)不能直接識(shí)別 , 必須將它翻譯成機(jī)器語言后才能執(zhí)行 。存放時(shí),最低字節(jié)在地址最低處(例如,數(shù)據(jù) 123456789ABCDEF0H在內(nèi)存中存放的順序?yàn)?0F0H、 0DEH、 0BCH、 9AH、 78H、56H、 34H、 12H),可用下列 80386匯編程序?qū)崿F(xiàn)相加。我們可以用預(yù)先規(guī)定的符號(hào)來分別替代二進(jìn)制碼表示的操作碼、操作數(shù)或地址,用便于記憶的符號(hào)而不是二進(jìn)制碼來編寫程序要方便得多。因此,對(duì)于任何一個(gè)要解決的問題來說,不管使用哪一種計(jì)算機(jī)語言 (匯編語言或高級(jí)語言 )描述,都必須通過翻譯程序轉(zhuǎn)換成相應(yīng)的機(jī)器語言才能執(zhí)行。這些指令前綴不僅需要指令改變操作數(shù)的長(zhǎng)度,而且需要徹底地重新定義操作數(shù)的尋址方式。 ? LOOK 前綴為整條指令保留總線,以允許多處理機(jī)同步。 ? REPZ 前綴表示重復(fù)執(zhí)行指令,直到條件碼 Z 變?yōu)?1。 4. Pentium Ⅱ 的指令前綴 Pentium Ⅱ 的指令前綴是可以放在大多數(shù)指令之前的一個(gè)特殊字節(jié),用于控制指令的執(zhí)行過程。 MOD R/M 00 01 10 11 000 M[EAX] M[EAX+OFFSET8] M[EAX+OFFSET32] EAX或 AL 001 M[ECX] M[ECX+OFFSET8] M[ECX+OFFSET32] ECX或 CL 010 M[EDX] M[EDX+OFFSET8] M[EDX+OFFSET32] EDX或 DL 011 M[EBX] M[EBX+OFFSET8] M[EBX+OFFSET32] EBX或 BL 100 SIB 帶 OFFSET8的 SIB 帶 OFFSET32的 SIB ESP或 AH 101 直接 M[EBP+OFFSET8] M[EBP+OFFSET32] EBP或 CH 110 M[ESI] M[ESI+OFFSET8] M[ESI+OFFSET32] ESI或 DH 111 M[EDI] M[EDI+OFFSET8] M[EDI+OFFSET32] EDI或 BH 表 54 Pentium Ⅱ 的 32位尋址方式 (M[x]表示 x處的內(nèi)存字 ) Pentium Ⅱ 的指令系統(tǒng) 3. Pentium Ⅱ 的指令類型 Pentium Ⅱ 指令系統(tǒng)包括如下指令類型:數(shù)據(jù)傳送類指令,算術(shù)運(yùn)算類指令,邏輯運(yùn)算類及位處理指令,字符串操作類指令,程序控制類指令,系統(tǒng)寄存器、表控制類指令,系統(tǒng)和 Cache控制類指令,MMX(MultiMedia Extension)指令集。 當(dāng)然 , 并不是所有的指令都具有所有的尋址方式 , 也不是所有的寄存器都能用于所有的尋址方式 。 Pentium Ⅱ 配備了大量的寄存器,包括基本體系結(jié)構(gòu)寄存器、系統(tǒng)級(jí)寄存器、調(diào)試和測(cè)試寄存器、浮點(diǎn)寄存器等,其中 32位的通用寄存器不僅可用于處理 32位的數(shù)據(jù),還可用于處理 16位和 8位數(shù)據(jù),以滿足用戶的不同要求。 (6)立即數(shù):立即數(shù)字節(jié)給出了 2或者 4個(gè)字節(jié)的常量。當(dāng)出現(xiàn) SIB字節(jié)的時(shí)候,計(jì)算操作數(shù)地址的方法是:先用變址寄存器 (Index)乘上 4或者 8(由比例因子決定 ),然后再加上基址寄存器 (Base),最后再根據(jù) MOD字節(jié)來決定是否要加上一個(gè) 8位或者 32位的偏移量。但是編碼規(guī)則禁止了其中的某些組合,而把它們用于特殊的目的。模式字段 MOD與 R/M字段組合定義另一個(gè)操作數(shù)的尋址方式, REG字段規(guī)定了另一個(gè)操作數(shù)所在的寄存器。在某些情況下,模式字節(jié)的前 3位可用做操作碼擴(kuò)展,這時(shí)操作碼的長(zhǎng)度就是 11位。 (3)模式字節(jié):模式字節(jié)包含了與操作數(shù)有關(guān)的信息。 圖 511 Pentium Ⅱ 的指令格式 Pentium Ⅱ 的指令系統(tǒng) (1)前綴字節(jié):前綴字節(jié)是一個(gè)額外的操作碼,它附加在指令的最前面,用于改變指令的操作。 Intel公司的x86系列 CPU采用的是 CISC指令系統(tǒng)的設(shè)計(jì)思想,指令系統(tǒng)規(guī)模很龐大,但 Pentium Ⅱ 卻采用了一個(gè)基于 RISC的處理器內(nèi)核,使用了 RISC的大量特性,使 Intel公司的 x86系列微處理器的性能上升到一個(gè)嶄新的層次。 方式 名 稱 匯編 功 能 2 立即型 n 存放指令單元的下一個(gè)單元內(nèi)是操作數(shù) 3 絕對(duì)型 n 存放指令單元的下一個(gè)單元內(nèi)是操作數(shù)地址 6 相對(duì)型 A 指令單元的下一個(gè)單元內(nèi)是操作數(shù)地址與指令地 址 (PC中 )的相對(duì)位移量 7 相對(duì)間接 A 指令單元的下一個(gè)單元內(nèi)是操作數(shù)地址的地址與 指令地址 (PC中 )的相對(duì)位移量 表 53 PC作為通用寄存器的特殊尋址方式 PDP 11與 VAX 11基本指令格式 操作前 操作后 存儲(chǔ)器 寄存器 R 1 00123 4 地址 0 0102 0 067201 001050 000002 001 10 0 001050 R 2 000100 地址 0 0102 2 001000 地址 0 0102 4 存儲(chǔ)器 寄存器 R 1 001236 地址 0 0102 0 067201 001050 000002 001 10 0 002050 R 2 000100 地址 0 0102 2 001000 地址 0 0102 4 001000 + 100 001 10 0 Pentium Ⅱ 的指令系統(tǒng) Pentium Ⅱ 是完全的 32位機(jī)。間接尋址方式類似于相應(yīng)的直接尋址方式,這里僅舉兩例說明。 例: 操作前 操作后 存儲(chǔ)器 寄存器 R 0 000020 地址 1 0002 0 064300 R 3 077776 存儲(chǔ)器 寄存器 R 0 000070 地址 1 0002 0 064300 R 3 077774 077774 000050 077776 010000 077774 000050 077776 010000 PDP 11與 VAX 11基本指令格式 (4)ADD 30(R2), 20(R5) 指令代碼 066265 操作: R2內(nèi)容加 30(加和是 001130)作為源操作數(shù)地址, R5內(nèi)容加 20(加和是 002020)作為另一源操作數(shù)和目的操作數(shù)地址,兩個(gè)操作數(shù)相加后,結(jié)果(加和是 000002)存放在目的地址 (002020)中。 例: 操 作 前 操 作 后 R 4 000006 R 2 000002 R 2 000002 R 4 000004 PDP 11與 VAX 11基本指令格式 (2)ADD(R2)+, R4 指令代碼 062204 操作: R2內(nèi)容為操作數(shù)地址,將此操作數(shù)加到 R4的內(nèi)容上,然后 R2的內(nèi)容加 2?,F(xiàn)以 ADD指令為例,來說明尋址方式。 PDP 11與 VAX 11基本指令格式 3. 轉(zhuǎn)移指令 指令格式: 15 8 7 0 O P 位移量 轉(zhuǎn)移地址 =PC+2 位移量 4. 尋址方式 這里只講述單操作數(shù)指令與雙操作數(shù)指令的尋址方式。第 11~ 6位組成一個(gè) 6位字段,為源地址字段 (第一操作數(shù) );第 5~ 0位組成另一個(gè) 6位字段,既是源操作數(shù)字段 (第二操作數(shù) ),也是目的操作數(shù)字段。 單操作數(shù)指令有清除 (CLR)、增 1(INC)、減 1(DEC)、求補(bǔ) (NEG)、測(cè)試 (TST)等。第 2~ 0位說明本指令使用 8個(gè)寄存器中的哪一個(gè),第 5~ 3位表示使用哪種尋址方式。 PDP 11與 VAX 11基本指令格式 指令格式: 第 15~ 6位表示操作碼。根據(jù)兼容性質(zhì), VAX 11應(yīng)包括 PDP 11的全部指令與尋址方式,即 PDP 11上的程序不做任何修改即可在VAX 11上運(yùn)行。 VAX還支持固定或可變長(zhǎng)度的位串(最長(zhǎng)為 32位 )處理 。 VAX的數(shù)據(jù)類型:整數(shù)有 1 3 6 128位 5種類型 , 浮點(diǎn)數(shù)有 3 6 128位 3種表示方式 。 PDP 11與 VAX 11基本指令格式 VAX 11/780是 DEC公司于 1977年推出的 VAX系列的第一個(gè)產(chǎn)品 , 它將 PDP 11結(jié)構(gòu)從 16位擴(kuò)充到 32位 。 (5)SS(存儲(chǔ)器 存儲(chǔ)器 ):兩個(gè)操作數(shù)都在存儲(chǔ)器 IBM大型機(jī)指令系統(tǒng) 中,其地址分別為 (B1)+D1和 (B2)+D2, (B1)+ D1還是目的地址。 RS與 RX的區(qū)別在于 RS是三地址格式,并取消了變址寄存器。 (2)RX(寄存器 變址 ):第一個(gè)源操作數(shù)與結(jié)果放在同一寄存器中,第二個(gè)源操作數(shù)
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1