3.1指令係統
64180機器碼與Z80標準的8位操作係統兼容,也和它支持下的應用軟件兼容。為了改進係統結構、提高軟件的功能、可靠性以及效率,指令係統中增加了幾條新指令。
SLP——休眼
執行SLP挖令,64180進入低功耗SLEEP(仿眠)方式。SLEEP(休眠)狀態的詳細介紹。
LP(SLEEP)字節:2周期:2狀態:8機器碼:EDH,76H對標誌的影響:不影響標誌
指令說明:若I/O控製寄存器ICR處於複位狀態(ICR奇存器的l)e=0),執行SLP沒令後,MPU就會進入SLEEP(休眠)方式;若ICR寄存器處於置位狀態(ICR寄存器D=1)執行SLP指令後,MPU就會進入係統停止(SYSTEMST0P)方式。ICR寄存器的位,即I0STP位為1時,係統進入I/OST0P方式。
▲MLT——乘
MLT指令實現兩個8位無符號數相乘,結湛為16位的算術運算。
分別裝入此16位寄存器的高8位和低8位,而運算結果回存於此16位寄存。
■MLT(MULTIPLY)字節:2周期:13狀態
指令助記符、機器碼和操作。
指令說明:MLT乘法指令是利用寄存器對B2、DE、HL和唯淺指汁3P,實現兩個3位二進製無符號數的乘法運算。乘數和波乘數分別文入寄存器對的高字節和低字..節,結果乘積回存寄存器對。
指令舉例:LDBG,0205HMLTBC
MLTBC乘法指令執行前BC=0205H,執行後BC=000AH。
▲IN0g,(m)——I/O□地址是立即數的輸入指令
這條指令的功能,是把以8位的立即數m為I/O地址的口內容,讀入指定的寄存器g中。當訪問I/O口時,將00H自動攻到地址總線的高8位(自動生成16位I/O口地址)。
指令說明:若外部I/O口地址和芯片內部I/O寄存器的地址一樣,那麼就會把內部I/O寄存器的內容傳送到寄存器g中。
第一條指令將累加器A清0,第二條指令執行後,將0080H口地址的數據讀入A累加器中指令執行過程CPU自動將00H放到地址總線的A15—A8,而把口地址80H放到地址總線入,從而生成16位口地址0080H。
▲0UT0(m),I/O口地址是立即數的輸出指令
這條指令的功能,是把指定的寄存器S的內容,輸出到以8位的立即數&為I/O地址的CS中去。當訪問I/O口時,將00H自動放到地址總線的高8位(自動生成16位I/O址)。
指令說明:當執行指令,CPU訪問I/O時,自動將00H放到地址總線的放到地址總線的A7—A。,生成16位I/O地址。如果外部I/O地址和芯片內部I/O寄存器地址一樣,則數據既送入芯片內部I/O寄存器,也同時送到外部I/O設備中。
指令執行後,將數據送到0080H地址I/O設備中去。0UT0指令執行過程中,CPU自動將00H放到地址總線高8位,而將80H放到地址總線低8位,自動生成0080H口地址。
▲0TIM、0TIMR、0TDM、0TDMR數據塊I/O
這些指令的功能,是以HL內容為地址的存C器單元中的內容(數據或指令機器媽),輸出到以C寄存器內容為地址的I/O口中。執行0TIM或0TIMR指令,HL寄存器和?銀存-