Truly SC183 / SC185程式自動被覆蓋問題
編寫日期: 2007年12月12日
最新更新日期: 2009年9月18日
Truly SC185新版(07年8月推出)基本上已解決了少問題(例如: 程式自動消失及複數計算問題等等),但依然存在誤差修正問題,最近測試網友提供的 masterMind 遊戲程式時,發現執行程式,出現Syntax ERROR,將錯誤的程式碼修正,再執行同樣出現問題,修正好的程式碼再次自動被修改為相它程式碼。大家若果有Truly SC185 或 Truly SC183計算機,可以試試以下的測試程式:
注意: 由於出現問題可能與計算機內部參數及其它已存在程式有關,為確保測試結果與本人的相同,請先將計算機重設Reset ALL(按 SHIFT MODE 3 EXE)及然後將測試程式輸入P1位置。
測試程式 (181 bytes)
Ran#: 123456789: 123456789: 123456789:
123456789: 123456789: 123456789:
123456789: 123456789: 123456789:
123456789: 123456789: 123456789:
123456789: 123456789: 123456789:
123456789: 123456789: 123456789
執行上述程式理論上應該會顯示 123456789,但卻出現Math ERROR,再按 → 進入程式編輯模式,顯示第二句的程式碼變為 12348xσn-1789,原先為56的程式碼被自動修改為8xσn-1,因而出現Math ERROR,嘗試將錯誤的兩個程式碼改回原先的56,再執行程式,相同的問題再次出現。若果不將8xσn-1改為56,改為00數字,再執行程式,錯誤則變為Syntax ERROR,再按 → 進入程式編輯模式,顯示第二句的程式碼變為 12343π789 ,因而出現Syntax ERROR,很明顯 有不知明新程式碼覆蓋舊有的程式碼。
經過不少的測試,初部發現出現這個問題可能與程式碼Ran# 指令及程式長度超過174 bytes有關,另外若果有其它程式存在可能會影響測試結果,但不排除還有其它相似的問題, 事實上本人只能表面測試,本人不知計算機內部確實的問題,另外亦有網友曾電郵告知他的應用程式亦試過有類似問題發生,但程式沒有Ran#指令,很可惜當時沒有記錄輸入了那些程式,所以無法進一步研究。我認為Truly SC183 / SC185在執行程式時,自動產生新程式碼覆蓋舊有程式碼的絶對不能接受,亦令SC185 / SC183計算機的可靠性進一步降低。
可能潛在的風險:
這個問題除了使程式出現Math ERROR或Syntax ERROR外,另一個可能情況是程式可以執行,但出現錯誤答案,因為自動新覆蓋的程式碼可能不會導致ERROR,例如常數取代常數等等,對於這種情況較為危險,使用者可能會較遲才發現有問題存在,因而令較多計算出錯。