在磁碟作業系統下測試第二代個人計算機系統設備的方法
2023-05-11 17:01:16 1
專利名稱:在磁碟作業系統下測試第二代個人計算機系統設備的方法
技術領域:
本發明涉及一種計算機系統設備的測試方法,尤其是涉及一種在磁碟作業系統(DOS)下測試第二代個人計算機(Personal System/2;PS2)設備的方法。
背景技術:
滑鼠、鍵盤是計算機接口設備中極其重要的位置標定與項目選取工具,其功能好壞直接影響計算機運用的便利性,因此每臺計算機在出廠前,這些接口設備的可靠性的驗定顯得尤為重要。
PS2滑鼠是當今筆記本計算機上較流行的設備,目前筆記本計算機上的觸摸鍵(touchpad)設備歸根到底是PS2滑鼠設備的變種。一般情況下測試PS2滑鼠需要安裝驅動,在dos下稱為TSR程序。
測試滑鼠設備時,當滑鼠設備產生中斷,驅動依賴掃描(scan)方式不停地調用bios中斷最先得到測試需要的信息,然後系統中的處理函數根據這些信息獲得滑鼠在中斷處的狀態數據,設備測試程序依照這些數據在屏幕上繪製滑鼠設備圖,進行測試。圖1所示為先前技術中系統內存的示意圖,其中包括三個部分,分別為驅動、測試程序(包括處理函數和設備測試程序)和bios。
雖然這種測試方法能夠滿足我們測試滑鼠的需要,但是卻是以犧牲內存空間為代價,況且DOS下可以支配的內存本來就有限(小於1M),如果被它再佔用一部分的話,將造成其它程序的使用內存減少,降低了其它程序的運行速度,將造成巨大的CPU的資源浪費。另外,每種機型的驅動程序都有些差別,這種測試方法不利於用戶測試程序的編寫,既浪費財力物力,也給測試帶來不必要的麻煩。因此,業界急需一種不受硬體限制並能兼容多種系統的測試方法。
發明內容
本發明所要解決的技術問題在於提供一種在磁碟作業系統下測試第二代個人計算機系統的設備的方法,也即不受硬體限制並能兼容多種系統的個人計算機系統的測試方法。
為了實現上述目的,本發明提供了一種在磁碟作業系統下測試第二代個人計算機系統設備的方法,其特點在於,將預先定義的一測試程序串接到一系統服務中斷子程序以進行測試,該方法包括下列步驟執行該系統服務中斷子程序並轉化執行該測試程序;獲取該測試程序的一偏移量與一段址;根據該偏移量與該段址構造一中斷位置;依據該測試程序儲存該設備的一位移與/或狀態數據至一堆棧器中;及返回該中斷位置並顯示該堆棧器的該位移與/或狀態數據。
上述方法,其特點在於,該系統服務中斷子程序為INT 15。
上述方法,其特點在於,該偏移量是通過句柄的偏移地址FP_OFF函數獲取並暫存至一通用緩存器中。
上述方法,其特點在於,該段址是通過句柄的段地址FP_SEG函數設置並暫存至一附加段緩存器中。
上述方法,其特點在於,該設備為一滑鼠或一鍵盤。
上述方法,其特點在於,該位移數據是指該滑鼠的X軸及Y軸的位移數據。
上述方法,其特點在於,該狀態數據是指該滑鼠或該鍵盤的按鍵狀態數據。
上述方法,其特點在於,還通過在一屏幕上顯示該設備的一仿真圖標以實時顯示當前的測試操作。
上述方法,其特點在於,還適用開放式主機控制接口接口設備。
本發明的功效,在於可在屏幕上顯示測試者剛剛所做的操作,達到測試目的,並且不受硬體限制,可適用於多種滑鼠設備,例如PS2滑鼠設備及與之相似的開放式主機控制接口(Open Host Controller Interface,OHCI)USB設備,避免了每種機型使用不同的驅動程序給測試帶來的麻煩,利用這種測試任何終端用戶都可自己對自己的計算機touchpad進行測試,同時也可以作為產品出廠的最後檢測程序。
以下結合附圖和具體實施例對本發明進行詳細描述,但不作為對本發明的限定。
圖1為先前技術的系統內存的示意圖;
圖2為本發明在磁碟作業系統下測試第二代個人計算機設備的方法的流程圖;圖3為本發明在磁碟作業系統下測試第二代個人計算機設備的方法的第一實施例的流程圖;圖4為本發明在磁碟作業系統下測試第二代個人計算機設備的方法的系統內存示意圖。
具體實施例方式
圖2為本發明磁碟作業系統(DOS)下測試第二代個人計算機設備(Personal System/2;PS2)的方法的流程圖。本發明所述的方法需將預先定義的一測試程序串接到一系統服務中斷子程序以進行測試,之後如圖2所示,包括下述步驟步驟301執行系統服務中斷子程序並轉化執行測試程序;步驟303獲取測試程序的一偏移量與一段址;步驟305根據偏移量與段址構造一中斷位置;步驟307依據測試程序儲存設備的一位移與/或狀態數據至一堆棧器中;步驟309返回該中斷位置並顯示堆棧器的位移與/或狀態數據。
依照本發明所述的方法,可實現無需驅動而對PS2的接口設備進行測試,為了更明確地解釋本發明,以下實施例將詳細描述本發明的應用。
圖3為本發明在磁碟作業系統(DOS)下測試第二代個人計算機設備(Personal System/2;PS2)的方法第一實施例的流程圖。請參照圖3,在本實施例中本發明是滑鼠設備的測試方法,通過調用INT 15將中斷處理函數的句柄存儲在通用寄存器和附加段寄存器中,當滑鼠設備產生硬中斷時直接跳到中斷處理函數,該方法包括以下步驟步驟501初始化;步驟503利用獲得句柄的偏移地址(FP_OFF)和獲得句柄的段地址(FP_SEG)獲得中斷處理函數的地址,並將之賦值給通用寄存器(bx)和附加段寄存器(es);步驟505利用INT 15將要處理的程序轉化成中斷處理函數;步驟507當滑鼠設備產生硬中斷時,中斷處理函數獲取滑鼠在中斷處的各項數據,包括從堆棧中讀取滑鼠在此處中斷的Y軸位移、X軸位移和按鍵狀態;步驟509中斷處理函數恢復現場返回,置FLAG位通知設備測試程序已經獲得滑鼠在此中斷處的數據;步驟511設備測試程序根據內存中保存的數據在屏幕上顯示滑鼠設備仿真圖標以實時顯示當前的測試操作;步驟513設備測試程序循環等待是否有鍵按下,若是執行步驟515,若否則繼續等待;及步驟515設備測試程序判斷對應鍵是否在屏幕上變色。
其中,調用INT 15的目的是為了將處理滑鼠設備中斷的函數句柄交給系統,系統得到此函數句柄權限以後,如果有滑鼠設備產生硬中斷系統馬上會保存現場後轉入中斷處理函數。
本發明第二實施例是測試鍵盤設備的方法,本實施例與第一實施例相似,其差別僅在於步驟507中所獲得的是鍵盤在中斷處的按鍵狀態和步驟511中設備測試程序根據內存中保存的數據在屏幕上繪製鍵盤設備圖。
本發明所述內存佔用只有兩種,如圖4所示,分別為bios佔用和滑鼠測試方法程序(包括處理函數、設備測試程序及函數句柄製作程序)佔用,而滑鼠測試程序非常小巧,所佔空間遠小於先前技術的驅動所佔的空間,因此大大節約了本來就有限的內存,保證了其它程序的使用內存。
本發明通過DOS下的一種中斷調用INT 15將處理程序與中斷聯繫起來,當設備產生中斷時,它就會轉入事先定義處理程序對時間響應,程序從堆棧中找到所需要的數值,包括滑鼠的左右鍵或者鍵盤的某個鍵是否按下等信息,從而在屏幕上顯示測試者剛才所做的操作,達到測試目的。並且,本發明滑鼠測試方法不受硬體限制,可適用於多種滑鼠設備,例如PS2滑鼠設備及與之相似的OHCI(Open Host Controller Interface)USB設備,避免了每種機型使用不同的驅動程序給測試帶來的麻煩,利用這種測試任何終端用戶都可自己對自己的計算機touchpad進行測試,同時也可以作為產品出廠的最後檢測程序。
當然,本發明還可有其他多種實施例,在不背離本發明精神及其實質的情況下,熟悉本領域的技術人員可根據本發明作出各種相應的改變和變形,但這些相應的改變和變形都應屬於本發明權利要求的保護範圍。
權利要求
1.一種在磁碟作業系統下測試第二代個人計算機系統設備的方法,其特徵在於,將預先定義的一測試程序串接到一系統服務中斷子程序以進行測試,該方法包括下列步驟執行該系統服務中斷子程序並轉化執行該測試程序;獲取該測試程序的一偏移量與一段址;根據該偏移量與該段址構造一中斷位置;依據該測試程序儲存該設備的一位移與/或狀態數據至一堆棧器中;及返回該中斷位置並顯示該堆棧器的該位移與/或狀態數據。
2.根據權利要求1所述的方法,其特徵在於,該系統服務中斷子程序為INT 15。
3.根據權利要求1所述的方法,其特徵在於,該偏移量是通過句柄的偏移地址FP_OFF函數獲取並暫存至一通用緩存器中。
4.根據權利要求1所述的方法,其特徵在於,該段址是通過句柄的段地址FP_SEG函數設置並暫存至一附加段緩存器中。
5.根據權利要求1所述的方法,其特徵在於,該設備為一滑鼠或一鍵盤。
6.根據權利要求5所述的方法,其特徵在於,該位移數據是指該滑鼠的X軸及Y軸的位移數據。
7.根據權利要求5所述的方法,其特徵在於,該狀態數據是指該滑鼠或該鍵盤的按鍵狀態數據。
8.根據權利要求1所述的方法,其特徵在於,還通過在一屏幕上顯示該設備的一仿真圖標以實時顯示當前的測試操作。
9.根據權利要求1所述的方法,其特徵在於,還適用開放式主機控制接口接口設備。
全文摘要
本發明涉及一種在磁碟作業系統下測試第二代個人計算機系統設備的方法,將預先定義的測試程序串接到系統服務中斷子程序以進行測試,該方法包括下列步驟執行該系統服務中斷子程序並轉化執行該測試程序;獲取該測試程序的偏移量與段址;根據該偏移量與該段址構造中斷位置;依據該測試程序儲存該設備的位移與/或狀態數據至堆棧器中;及返回該中斷位置並顯示該堆棧器的該位移與/或狀態數據。本發明可在屏幕上顯示測試者剛剛所做的操作,達到測試目的,並且不受硬體限制,可適用於多種滑鼠設備,避免了每種機型使用不同的驅動程序給測試帶來的麻煩,同時也可以作為產品出廠的最後檢測程序。
文檔編號G06F9/46GK1873624SQ200510073509
公開日2006年12月6日 申請日期2005年6月1日 優先權日2005年6月1日
發明者丁懷亮, 陳玄同, 劉文涵 申請人:英業達股份有限公司