正文 第十章 16位微處理器簡介(3 / 3)

指令的第二字節,是指出所用的兩個操作數存放在什麼地方。如果操作數在存儲器中,指定操作數有效地址2為的計算方式。即第二字節的第7、6位是方式字段,它用來指出指令中的兩個操作數,是在存儲器中還是在寄存器中。第5、4、3位是20字段,用來指定寄存器的編號。

指令第二字節的2、1、0位,是寄存器存儲器字段。它受100字段的控製,當寄存器方式,字段指出第二操作數所在寄存器的編號,指出如何計算存儲器有效地址

至於指令的第三、四、五、六等字節,則根據不同的指令而取舍。所謂變字長指令,主要體現在這裏。

3.尋址方式

8086/8088指令中的操作數,可以來自寄存器、內含在指令中的立即數、存儲器或1/0接口。若操作數來自寄存器或是立即數的執行部件,可以不通過總線而直接存取這種操作數。若操作數在存儲器中,必須通過總線,才能使操作數在口和存儲器之間傳送。當要讀或寫存儲器操作數時,操作數的地址要經過計算。即20要先將一個位移量送給總線接口部件扭口,把位移量和段寄存器內容相加,產生20位的物理地址,然後才能執行存取操作數所需要的總線周期。而提供的位移量也要計算,它的計算方法由指令第二字節II/財字段來指定。經計算後的位移量,秣為有效地址2為。它是一個不帶符號的16位數。它表示操作數位置距離段起點的字節數。有效地址狄的計算有如下幾種方式。這就是常說的8086/8088的尋址方式。直接尋址直接從指令中的位移量字段獲得。

寄存器間接尋址入直接從基址寄存器獲得,或者從變址寄存器獲得。

(1)基址尋扯變址尋址是寄存器內容和指令中內含的位移量相加而得到的。基址變址尋址等於基址寄存器或的內容,加變址寄存器51或1的內容,再加上指令中的位移量。

字符串尋址字符串指令不是采用正常的存儲器尋址方式來存取操作數,而是隱含地用變址寄存器尋址。當執行一條字符串指令時,假定指向源字符串的第一個字節或字,而指向目標字符串的第一個字節或字。在重複的字符串操作中,自動地調整,使之指向下一個字節或字。

(2)直接尋址方式間接尋址方式

①數據處理

8086指令可以處理的數據類型有:8位(字節)、16位(字)、帶符號或不帶符號數5對拆開的用碼表示的十進製數;或對裝配的十進製數直接進行運算和對字節,字符串處理。

公司研製的產品,它采用半導體工藝和技術,在一個芯片上集成了6.8萬個晶體管。內部控製電路采用微過程控製。64條引腳雙列直插式封裝。地址總線和數據總線分開,外部數據總線是16位,但內部數據總線和寄存器均是32位,所以又稱為準32位機,地址總線。

指令係統特點①它有十四種尋址方式,包括六種基本類型:寄存器直接尋址,寄存器間接尋址,絕對尋址,立即尋址,程序計數器相對尋址和隱含尋址。在寄存器間接尋址方式中包括了尋址後遞增、尋址後遞減、偏置和變址方式。程序計數器相對尋址方式也可以通過變址和偏置來修改。②它是一種支持結構式高級語言的指令係統。因而,使程序設計很容易。每一條指令,除少數幾條以外,都能按字節、字或長字進行操作,多數指令都具有十四種尋址方式中的每一種。

從68000是在8086和Z8000之後研製成功的,它吸收了前者的經驗,因而,性能優於前者I另外它比8086晚出現2年,在這兩年中,芯片的集成度有很大的提高,因此,也使它的集成度高於前者;係統結構方麵,吸收了係列的優點,而拋棄了它們由於考慮係列產品的兼容而帶來的缺陷,使它成為目前16位微處理器中的佼佼者,下麵從口寄存器結構、操作數據的類型、尋址方式等方麵簡要地介紹它的特點。

②數據寄存器

方式結合起來可以有一千多條指令。這些指令包括帶符號和不帶符號的乘和除,“決速”算術操作,碼算術運算。

10.2-2 MC68000

Z8000是1979年2108公司研製的產品,它采用溝道20/105工藝,芯片上集成1.75萬個晶體管,有兩種:即40條引腳的Z8002和48引腳的Z8001。兩者的區別是尋址能力不同。Z8001是可分段尋址,能直接尋址,而Z8002隻能直接尋址64X。下麵簡要介紹其特點。

堆棧Z8001和Z8002可以把存儲器的任意單元開辟為堆棧。調用和返回指令,中斷和陷阱都使用隱含堆棧指令。Z8001中用寄存器作隱含堆棧指針。寄存器含有7位段號,含有16位的偏移量。而Z8002中,寄存器6是16位的隱含堆棧指針。

通用寄存器Z8000是以通用寄存器為中心設計的,它有十六個16位的通用寄存器。所有通用寄存器都可以作累加器,除尺,外都可以作變址寄存器。通過寄存器的多種搭接,使得寄存器的結構很靈活。通用寄存器的搭接關係如下:

為了使率統信息和應用程序信息分開。設用戶堆淺和係統堆棧。刷新Z80000內設一個刷新計數器,它包栝九位的行計數器、六位的速串計數器和一位允許位。

10.2-3 Z8000

九位行計數器可尋址256行,每當速率計數器計到0,行計數器增2。速率計數器

決定兩次刷新之間的間隔時間,它由一個可編程序的六位模數預定標器構成,以時鍾周期的1/4驅動。在時鍾頻率為時,刷新周期可以由過程控製在1到64之間。利用刷新允許位,通過程序可以禁止刷新操作。

程序狀態信息程序狀態寄存器包括程序計數器、標誌和控製字。當發生中斷或陷阱時,整組程序狀態寄存器被保存起來,然後裝入一組新的信息。

中斷和陷阱Z8000有三種中斷,即不可屏蔽、向量和非向量。設四種陷阱,即係統調用、執行未設立的指令、執行特權指令和分段陷阱。

尋址方式Z8000有8種尋址方式:寄存器、立即、寄存器間接、直接、變址、相對、基地址、基地址變址,指令係統Z8000指令係統包括九大類指令,它們是:傳送和交換、算術運算、邏輯運算、過程控製、位處理、循環和移位,數據塊傳送和字符串處理、輸入/輸出和控製。

有116條基本類型指令,這些指令和八種尋址方式和六種數據類型貼合,可以構成414條指令。