下麵先介紹四位可測試的標誌位:
①進位標誌此標誌位反映累加器最高位產生的進位或借位。例如,在“加”指令時,當累加器的最高位有進位時,則將此標誌置位,否則位:而執行減法指時,當累加器的最高位有借位,則將此標誌置位。此外各種移位指令也要影響此標誌等等。
②零標誌如果運算結果為零,則此標誌置位,否則複位。
③符號標誌此標誌是供帶符號的數用的。對於帶符號數,我們用最位表示數的符號。如果運算結果,累加器的最高位為1,表示負數,將置位否則將複位。
④奇偶溢出標誌這是雙重用途的標誌位,當進行邏輯運算時,用它來指示累加器中操作結果的奇偶性,運算結果中1的數位為偶數,把置位;若1的數位為奇數,將複位。當進行帶符號對補碼的算術運算時,用它來指示溢出,如果發生溢出則將標誌置位;否則複位,對於一字節數據,如用最高位表示正負號,則有7個有效位。如果運算的結果超出了這個數值範圍,就會發生溢出。
若兩個數同號,和的符號卻不同說明發生溢出,若從符號不同,不會發生溢出,若兩數同號,和的符號也相同,則沒有溢出,若似、凡符號不同,差的符號與被減數相反,則發生溢出判別減法是否發生溢出,要看參加運算減嫩灼符號相反的情況,其真值表如下。
若兩個操作數的符號不相同,永遠不會產生溢出;若兩個操作數同號,和的符號和操作數同號,也不會產生溢出1若兩個操作數同號,和的符號和操作數不相同,就會產生溢出。
兩個正數相加結果超過127,產生溢出而得不到正確的結果。這時要置位。作誠法時,作數的符相異,符號與被誠數符號不相同,便是產生溢出了。
非測試標誌有兩個:
①半進位標誌隻過當低位半字節向高位半字節產生30進位或借位時,此標誌置位。這個標誌用於校正加法或減法的結果。
②減標誌此標誌也叫做加/減標誌。在運算時,十進製調整指令利用此標誌來區別加法和減法。(前麵進行的一次)操作是加,複位前麵進行的一次是減法,置位。
因為,對於加法減法來說,修正操作的算法不同,應根據X的狀態作出加或減的修正。運算結果對標誌的影響舉例如下,
累加器和標誌位都可以由一些特定指令來直接訪問及置位或複位。對於指令,累加器和標誌寄存器被視為一個寄存器對,叫做程序狀態字或處理器狀態字簡稱。
11.通用寄存器
通用寄存器又叫工作寄存器。它們具有多種功能,並能在程序的直接操縱下工作,通用寄存器可以暫存參加運算的操作數和中間結果避免中間結果在存儲器和累加器之間來回傳送,因而可以減少訪問存儲器的次數,從而節省存儲訪問時間,提高運算速度。另外通用寄存器也可以存放數據地址,這時就需要組成寄存器對,作為專門指向數據存儲區的指示器,可以用於指向64尺的存儲地址。通用寄存器還可以作為計數器使用,在循環程序中用來控製循環次數。
在Z80中有兩組獨立的8組通用寄存器,主寄存器,可以進行8位操作,也可以組成寄存器對進行某些16位操作。次寄存器或稱輔助寄存器。當響應中斷後需要保護現場,待中斷服務程序結束後需要恢複現場。如果隻有一級中斷申請的話,就不必再設棧區,隻用二條交換指令就能將主寄存器內容送入輔助寄存器,然後在恢複現場時再交換回來,這樣就能大大節省中斷操作的時間。因此,輔助寄存器也可以看成是設置在口內部的棧區。
二、算術邏輯單元
主要功能是完成各種算術和邏輯運算。的典型操作有加、減、邏輯與邏輯“或”,邏輯“異或”、比較、增1、減1、求反、求補、移位以及對單個位的處理(置位、複位、位測試)。
它有兩個輸入端一個與累加器八相連,另一個與內部數據總線相連。當進行二個操作數的算術邏輯運算時,一個操作數來自累加器入,通過內部數據總線從通用寄存器或存儲單元接受另一個操作數。有兩個輸出端:一個輸出操作結果,另一個輸出表示操作結果的標誌位。
三、指令寄存器
指令寄存器是用來寄存指令的操作碼。從存儲器取出指令後,將指令的操作碼存入指令寄存器,以便被指令譯碼器翻譯成執行相應操作的控製信號。
四、指令譯碼
這是整個的控製中樞。指令操作碼存入指令寄存器後,由指令譯碼器譯碼,在時鍾脈衝的定時下,發出對內部的控製信號和對外部的係統控製信號。內部的控製信號用來將內部寄存器的數據傳送到八輸入端,以便完成規定的運算。係統控製引發出對存儲器或1/0口的讀、寫信號等。總之,它的功能是在正確的時刻,將信息準確地送往某個目的地。它動作的依據是該時刻執行的指令。
五、數據總線控製
它是內部和係統(即存儲器)傳送數據的必經之路。它控製什麼時候能把數據從內部送往外部數據總線上,什麼時候使和外部數據總線脫開。
六、地址總線控製
地址總線控製是把地址送上外部地址總線的必經之路,控製何時發地址碼到外部地址總線上,何時和外部地址總線脫開。
七、內部數據總線
內部數據總線是內部傳送數據的通道,例如內部寄存器要傳送數據去進行運算,必須通過內部數據總線。外部的數據要送到去,也必須通過內部數據總線。
2.2 Z80-CPU 電路引腳的說明
2.2-1 Z80-CPU 引腳的功能說明
一、封裝在標準的40線雙列直插式的管殼中。
三態輸出組成16位地址總線。地址總線提供訪問存儲器(可達64字節)和訪問設備時所用的地址。地址使用地址總線的低8位,允許用戶直接選用256個輸入或256個輸出端口號。八。是地址總線的最低位,當存儲器刷新時,地址總線低7位是有效的刷新地址。
二、數據總線
輸入/輸出為三態組成8位雙向數據總線。數據總線用於作與存儲器或與1/0設備進行數據交換的通道。
三、控製總線
共13條,按功能的不同可以分成三類,
1.第一類係統控製信號
(1)機器周期信號輸出,低電平有效,表示當前機器周期就是指令的取操作碼周期,必須注意的是:在執行兩字節操作碼的指令時,每取一字節操作碼就產生一次信號。當信號與信號同時出現時表示中斷響應周期。
(2)存儲器請求信號三態輸出,低電平為有效。此信號指出地址總線上保持著用於存儲器讀或寫操作的有效地址碼。
(3)輸入/輸出請求信號
三態輸出,低電平為有效。此信號指出地址總線的低8位保持著用於訪問1/0門的有效地址。當中斷響應時,巧信號和信號同時產生,表示一個中斷響應矢量放到數據總線上。
(3)讀信號
三態輸出,低電平有效。指出要從存儲器或1/0設備中讀出數據。被訪問的1/0設備或儲器用這個信號選通數據送到;數據總線上。
(4)寫信號
三態輸出,低電平有效。此信號指出在數據總線上,保存著要存儲到被訪問的存儲器或1/0設備中去的有效數據。
(5)刷新信號
低電平有效。此信號指出地址總線的低7位是動態存儲器的刷新地址,而當前的信號是用來對動態存儲器進行刷新讀出。
2.第二類:控製暫停狀態輸出,低電平有效。此信號指出執行完一條指令,處在暫停狀態,將執行操作,以保持存儲器能不斷刷新。
(1)將停留在暫停狀態,一直等到接到中斷或複位信號或執行為才退出暫停狀態。
(2)等待信號輸入,低電平有效。通常,此信息作為通知,存儲器或1/0設備要交換的數據沒有準備好。隻要此信號一直有效,就繼續處於等待狀態,此信號使低速度的存儲器或1/0設備能與同步。
(3)中斷請求信號輸入,低電平有效。中斷請求信號。由1/0設備產生。如果內部過程控製的中斷允許觸發器處在允許中斷狀態,而且沒有信號,那麼在前指令結束後中斷請求信號被接受。當接受中斷時,在下一條指令周期的開始,就會送出回答信號。