資源描述:
《指令與指令系統(tǒng)和匯編語言程序設(shè)計.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第5章指令、指令系統(tǒng)和匯編語言程序設(shè)計本章主要內(nèi)容指令格式與尋址方式概述匯編語言程序設(shè)計計算機系統(tǒng)由硬件和軟件兩部分組成。硬件指由中央處理機、存儲器以及外部設(shè)備等組成的實際裝置。軟件是為便于用戶使用計算機而編寫的各種程序,是由一系列機器指令組成的。指令是用戶使用計算機和計算機運行的最小的功能單位,一臺計算機支持(或稱使用)的全部指令構(gòu)成該計算機的指令系統(tǒng),它對計算機本身的硬件結(jié)構(gòu)的復(fù)雜程度和運行性能,對用戶完成程序設(shè)計的難易程度和工作效率,有非常重要的影響,必須對設(shè)計指令系統(tǒng)的工作給以足夠的重視,慎重確定。指令與指令系統(tǒng)概述對指令系統(tǒng)的要求完備性:指
2、令齊全,編程方便高效性:占內(nèi)存少,運行省時規(guī)整性:指令與運算規(guī)則統(tǒng)一兼容性:新舊機指令軟件兼容當前的計算機指令系統(tǒng),從其構(gòu)成的復(fù)雜和完備程度,或者說設(shè)計中追求的不同的目標區(qū)分,可分為CISC和RISC兩類:RISC(ReducedInstructionSetComputer),通常稱為精簡指令系統(tǒng)的計算機,提供數(shù)目較少、格式與功能簡單、運行高效的指令,追求的是計算機控制器實現(xiàn)簡單,運行高速,更容易在單塊超大規(guī)模集成電路的芯片內(nèi)制做出來。CISC(ComplexInstructionSetComputer),通常稱為復(fù)雜指令系統(tǒng)的計算機,是相對于RISC
3、一詞而提出來的一種說法。其特點是:指令條數(shù)多,格式多樣,尋址方式復(fù)雜,每條指令的功能強,優(yōu)點是匯編程序設(shè)計容易些,但計算機控制器的實現(xiàn)困難多,很多指令被使用的機會并不多。指令格式與尋址方式指令:功能定義用法指令格式:操作碼操作數(shù)地址固定長度可變長度交叉安排無地址一地址二地址多地址2.尋址方式外設(shè)尋址入/出端口地址方式統(tǒng)一映象方式主存尋址寄存器尋址直接尋址變址尋址寄存器間址間接尋址相對尋址基地址尋址立即數(shù)尋址堆棧尋址1.指令與指令格式指令:功能、定義、用法指令格式:操作碼操作數(shù)地址固定長度(IBM/PC)擴展長度(PDP-11)交叉安排(NOVA)無地址
4、一地址二地址多地址三種方案按操作數(shù)個數(shù)劃分教學(xué)計算機的操作碼:TEC-200016位機采用8位固定長度TEC-20008位機采用逐段擴展長度指令格式尋址方式(又稱編址方式)指的是確定本條指令的數(shù)據(jù)地址及下一條要執(zhí)行的指令地址的方法。不同的計算機系統(tǒng),使用數(shù)目和功能不同的尋址方式,其實現(xiàn)的復(fù)雜程度和運行性能各不相同。有的計算機尋址方式較少,而有些計算機采用多種尋址方式。通常需要在指令中為每一個操作數(shù)專設(shè)一個地址字段,用來表示數(shù)據(jù)的來源或去向的地址。在指令中給出的操作數(shù)(或指令)的地址被稱為形式地址,使用形式地址信息并按一定的規(guī)則計算出來的一個數(shù)值才是數(shù)據(jù)
5、(或指令)的實際地址。在指令的操作數(shù)地址字段,可能要指出:①運算器中的累加器的編號或?qū)S眉拇嫫髅Q(編號)②輸入/輸出指令中用到的I/O設(shè)備的入出端口地址③內(nèi)存儲器的一個存儲單元(或一I/O設(shè)備)的地址有多種基本尋址方式和某些符合尋址方式,簡介如下:尋址方式計算機的CPU中一般設(shè)置有一定數(shù)量的通用寄存器,用于存放操作數(shù)、操作數(shù)地址或中間結(jié)果。假如指令地址碼字段給出某一通用寄存器的編號(地址),且所需的操作數(shù)就在這一寄存器中,這就是寄存器尋址方式;若該寄存器中存放的是操作數(shù)在內(nèi)存儲器中所在單元的地址,這就是寄存器間接尋址方式??赏ㄟ^指令的操作碼或另設(shè)一個
6、字段,來區(qū)分這兩種不同的尋址方式。1、寄存器尋址、寄存器間接尋址例:RegNo.=5,使用5#累加器,此時5#累加器中的內(nèi)容為7,可記為(R5)=7,對寄存器尋址方式,操作數(shù)就是這里的數(shù)值7對寄存器間接尋址,從內(nèi)存7#單元讀出來的數(shù)才是操作數(shù)2、立即數(shù)尋址所需的一個操作數(shù)在指令的地址字段部分直接給出。則Num即為操作數(shù)的值。適用于操作數(shù)固定的情況,提高了指令的執(zhí)行速度,當該立即數(shù)的值限定為較小值(占用位數(shù)少)時,可在第一個指令字中直接給出,否則可在第二個指令字中給出。在指令的地址碼字段直接給出所需的操作數(shù)(或指令)在存儲器中的地址。則Addr為操作數(shù)在
7、存儲器中的地址。或轉(zhuǎn)移指令等用到的指令地址。3、直接尋址例:Addr=5718H,這里的H表示5718是16進制的值,可能用作下一條指令的地址;也可能用作操作數(shù)的地址,若[5718H]=3,即內(nèi)存儲器5718單元中的內(nèi)容為3,則操作數(shù)就是這里的3。內(nèi)存儲器操作數(shù)操作數(shù)的地址由指定的變址寄存器(由Reg指定)的內(nèi)容和指令中的地址碼(Disp)相加得到。4、變址尋址通用寄存器加法器操作數(shù)存儲器例:Disp=18H,Reg=5,(R5)=5700H則操作數(shù)地址=5718H便于對數(shù)組元素進行處理,是計算機中常用的一種尋址方式。操作數(shù)(或指令)的地址由程序計數(shù)器
8、PC的內(nèi)容(即當前執(zhí)行指令的地址)和指令的地址碼相加得到。5、相對尋址例:Disp=48H(P