Truly SC-185程式自動消失問題

內容更新日期: 2007年4月22日 , 4月23日, 4月24日, 4月25日, 4月30日

2007年8月推出的新版本已修正程式自動消失問題

Truly SC-185計算機在使用清除指令 PCL (按 MODE MODE MODE 3)後,計算機有可能出現異常,包括以下兩個情況: (1) 自動關機,(2) 計算機右方的數字不停閃動,只可按 ON 終止,而這時計數機的所有資料亦被清除。由於這個問題在新版本(21/4/2007)推出後才被我首先發現,新版的Truly SC185計算機並沒有修正這方面的問題。以下是測試的例子,大家可以試試。

測試例子一:

1. 先 SHIFT MODE 3 重設計算機

2. 在P2程式位置任意輸入一個240 bytes的程式

3. 在P1程式位置任意輸入一個12 bytes的程式

4. 按 MODE MODE MODE 3 1 將P1位置的程式完全清除,這時問題已存在

5. 再按 MODE MODE MODE 1 1 時計數機自動關機,要重新按 ON 才可以使用

6. 再按 MODE MODE MODE 1 4 Ans 嘗試輸入 1 bytes,這時計數機右邊的數字不停閃動,按 ON 才可以終止,但P2程式亦消失了

 

註1: 步驟5可以省略,不會影響步驟6的結果,步驟5的意義除了出現異常外,就是再不能輸入程式在程式位置P1,因為己經關機。

註2: 步驟6主要的目的是改變程式的總長度,在測試中發現,(1)若果不執行步驟6,改為按 MODE MODE MODE 1 2 DEL 嘗試刪除程式位置P2的1 byte,亦會出現右邊數字不停閃動的問題,同樣按ON 才可以終止,但P2程式亦消失了。(2) 若果不執行步驟6,改為按 MODE MODE MODE 3 2 嘗試完全刪除程式位置P2,同樣右邊數字不停閃動的問題,同樣按ON 才可以終止。由以上推測在執行完 PCL指令後,問題己經存在,只要任何情況對程式總長有影響的操作均會出現程式消失現象。

註3: 步驟2將240 bytes的程式輸入P2位置,若果輸入的位置改為P3或P4,其實結果相同,但將步驟3,12 bytes輸入P1位置改為其它程式位置測試,發現不會出現任何問題。由以上推測問題出現與使用 PCL 指令清除程式位置P1有關(MODE MODE MODE 3 1)。

註4: 步驟4清除程式改為按 MODE MODE MODE 1 DEL DEL DEL ......,直至程式完全清除,那麼問題就不會出現,所以差不多可以肯定與執行 PCL 指令有關 (MODE MODE MODE 3 )

註5: 步驟出現自動關機的異常,但這時計算機程式還未消失,即使用 Mode Clear (按 SHIFT MODE 2 EXE) 亦不能令計算機清除問題及回復正常,即是再執行步驟6會出現程式自動消失現象。

 

測試例子二:

1. 先 SHIFT MODE 3 重設計算機

2. 在P2程式位置任意輸入一個250 bytes的程式

3. 在P1程式位置任意輸入一個1 bytes的程式

4. 按 MODE MODE MODE 3 1 將P1位置的程式完全清除,這時問題已存在 ,與測試例子一不同的是可以正常進入P1或P3或P4編輯式、編寫程式,甚至刪除這些程式位置亦無問題,但若果按 MODE MODE MODE 3 2 清除程式位置P2時計數機右邊的數字不停出現異常閃動,按 ON 才可以終止,看來在這個情況下,問題將可能會延後在很久時間才被發現。

 

其實若果能肯定出現程式自動消失的條件,大家才可以有效防止問題的出現,雖然現時還未完全肯定出現程式自動消失的條件,但經過進一步反複很多測試及研究,相信出現的充份條件除了使用 PCL 指令外,還要滿足程式的總長度大於248 bytes的條件,即程式總長度大於248 bytes有可能出現問題,但不是一定出現問題,相反程式總長度少於或等於248 bytes時,即使用 PCL 指令問題亦不會發生。有關我對這個條件做過一定數量測試,為了進一步確認及驗証不會出現程式 問題的條件,我做以下情況的測試,每一項測試與上述測試例子相似•要注意的是雖然做了不測試,但不可能完全測試所有情況(天文數字),因此內容可能有錯,若果發現有所出錯請通知網主,以便作出進一步的測試 、研究及更正。希望這些料資料對使用SC185的朋友會有 一點幫助,若對這個問題有任何疑問或補充,歡迎在WebCal論壇留言討論。

Test Cases (Black Box Test):

表格中程式長度以byte為單位,表格內我的測試全部沒有出現任異常或程式自動消失的問題。

測試編號 P1長度 P2長度 P3長度 P4長度 程式總長度
1 25 (comp) 25 (comp)     50
2 16 (comp) 17 (cmplx) 17 (cmplx)   50
3 13 (cmplx) 12 (cmplx) 13 (cmplx) 12 (cmplx) 50
4 10 (comp) 15 (REG Quad) 15 (SD)   50
5 1 (comp) 99 (comp)     100
6 1 (comp) 1 (comp) 98 (comp)   100
7 1 (comp) 1 (comp) 1 (comp) 97 (comp) 100
8 25 (comp) 25 (cmplx) 25 (SD) 25 (REG Lin) 100
9 75 (comp) 75 (comp)     150
10 60 (comp) 60 (cmplx) 60 (cmplx)   180
11 50 (BASE) 30 (REG Lin) 80 (REG Log) 40 (REG Exp) 200
12 5 (comp) 215 (comp)     220
13   130 (REG Pwr) 100 (REG Inv)   230
14     50 (SD) 190 (SD) 240
15 120 (comp)     125 (REG Quad) 245
16 100 (comp) 46 (cmplx)   100 (SD) 246
17 247 (comp)   1 (comp)   247
18 47 (comp) 50 (comp) 50 (comp) 50 (comp) 247
19 248 (comp)   1 (comp)   248
20 62 (comp) 62 (comp) 62 (comp) 62 (comp) 248
21 1 (cmplx) 247 (cmplx)     248
22   237 (SD)   11 (SD) 248
23   30 (BASE) 218 (BASE)   248
24 48 (comp) 100 (cmplx) 100 (SD)   248

註: 直至目前為在執行RCL指令時,程式小於或等於248 bytes是不會出現異常及程式自動消失的問題(不包括問題延後的情況),但程式總長大於248 bytes的情況下,執行PCL 指令則開始發現有出現異常及程式自動消失的例子。

 

後話: 最初我發現這個問題時,3個程式的總長度其實是297 bytes,最初還以為是偶然發生的問題,因為不是所有程式總長度為297bytes就會出現問題,即使遇上問題亦很可能會誤以為是偶然發生的事件,後來經過較多測試才可以將問題確立,才可以將具體的測試例子(情況)寫出來,這個問題其實舊版本的SC185早已存在,只是在推出新版前未有人發現,而Truly公司在推出新版前的測試相信亦未能找出問題,可見問題相當難被發現。我亦在佷偶然的機會下發現及進行很多不同測試才可以找到 一些特點,而找出248 bytes這個數值亦要做很多測試,由於沒有記下所以不能列出給大家參考,所以之前大家看到簡單的測試例子及推論,其實是做了很多測試的研究結果,可能不是網友想像中那麼容易的事。

fx-3650P及SC-185功能比較

SC-185複數計算問題

SC-185用後報告及評價

返回 fx-3650P及SC185程式集

Free Web Hosting