跳至內容

使用者:Dousha99/Scratchpad

計算器百科,非營利的計算器專業知識百科。

Scratchpad

這個頁面包含了尚未發表的/具有爭議的內容。

被划去的標題代表該條目已經得到響應。已發表的內容會被刪去。

{{Advanced_topic}} 模板

模板用法 {{Advanced_topic|理由}} {{Info|text={{{1}}}}}

這個模板用於較為專業的頁面(如「卡西歐 fx-82MS 計算器內存映射表」),用於告知讀者本頁面包含可能普通用戶無法理解的內容。

計算器百科編寫風格規範

問題 風格 示例
全形與半角字符混排 在全形字符與半角字符間插入空格 這是 1 個 Example 你們識得唔識得?
中文與西文混排以西文結尾標點 按照西文標點結尾。如果是括號則與開頭括號保持一致 這是 Example. (當然是 Example )
時間與日期格式 參照 ISO8061 標準,不足部分省略。省略時必須註明時間單位。 2015-05-13 18:20:03 GMT+08:00

5 月 13 日 18 時 20 分

待補充

加法溢出原理

可知下列等式:

53=2=108=10(5+3)=5+710=5+(103)10

那麼,在加法器中就可以通過溢出的方式來計算減法。

一般性指導手冊編寫規範

本條目將指導您如何正確地編寫一個通用的過程、規範和其他類似手冊的內容。

以本條目為例。本條目繼承自格式手冊,並在此公共基礎上拓展規範。

條理清晰

手冊應按照以下至少一個排序方式對內容進行排序。

  • 時間順序
  • 空間順序
  • 邏輯順序
  • 重要性順序
  • 其他任何符合一般人思維的順序

其次序可按照升序或降序排列。

表述精確

文章的邏輯用詞必須精確。由於中文的表意特性,「和」與「或」經常在口語表述中混淆。在編寫手冊時,應該使用數學中定義的「和」與「或」。

當所描述的事件或對象相互對立時,連詞必須用「或」。如:「該產品適用於室內或室外。」而非「該產品適用於室內和室外。」

可操作

當描述一般步驟時,必須將其轉化為可操作的陳述。「可操作」定義如下:

  • 對於任何可以主觀解釋的詞語給予不可產生歧義的定義;
  • 對於任何可能讓非專業讀者無法理解的詞語或步驟給予適當解釋;
  • 對於任何步驟不存在操作者的主觀因素。

加法器

加法器是計算器製作中的基本部件,分為半加器全加器

半加器

半加器取輸入信號 A 與 B 並做加法運算,結果輸出到 X, 進位輸出至 C.

其真值表如下

A B C X
0 0 0 0
1 0 0 1
0 1 0 1
1 1 1 0

其原理圖如下圖所示

    +-------+
A --|  Half |-- X
    | Adder |
B --|       |-- C
    +-------+

           +--------+
A ------+--|        |
        |  |   XOR  |-- X
B --+---|--|        |
    |   |  +--------+
    |   |
    |   |  +--------+
    |   +--|        |
    |      |   AND  |-- C
    +------|        |
           +--------+

對計算器亂點的思考

以下內容假定:

  • ES:SI - 用戶輸入指針,單獨的 ES 表示用戶輸入段
  • GS:DI - 圖形指針,單獨的 GS 表示圖形段
  • SS:SP - 棧指針,單獨的 SS 表示棧段

前提:通過法二( x )進入 15 次亂點。 目標:如何解釋計算器亂點,以及其原理。

可以合理的猜測,屏幕上的亂點是當前內存中的內容。確切的說,可能是堆棧內容。

以 fx-991ES Plus 的 15 亂點為例,在輸入帶括號或框的運算符號的時候可以看到亂點從屏幕底部向上升。 假定這個屏幕是低地址向高地址橫掃描,那麼計算器上屏幕的每一行就代表了 12 字節的數據。整個屏幕就包含了 372 字節(31 行 96 列)的數據。在輸入表達式的時候,可以注意到數字、四則運算不會讓亂點升高,而括號和框 可以,進一步說明此時顯示的是棧數據。

注意到在亂點模式下,用戶輸入不受影響。用戶輸入不受影響至少需要保證兩個方面:一、輸入緩衝區依然可用;二、顯示緩衝區依然可用。但是到這裡我們還不能確定是更改了 SS:SP 還是 GS:DI.

此時 M 指示燈亮起,嘗試 RCL M, 結果區亂碼,但不死機。嘗試將 M 用於計算產生 Math ERROR. 嘗試進行普通運算死機。

在鍵入 11 個 ( 和 1 個 ) 後進入 計時模式。光標後會有一個小點跳, 且會隨著光標移動。如果不按 AC 而按 DEL 的話可以看到亂點消失且輸入區出現亂碼。即使刪除所有也無法 輸入任何字符(也許這一步可以算新的溢出?),直到按下 AC . 此時發現再打有框或有括號的運算符號時已經不會再出亂點。光標後的小點遵循 不穩定字符 規律,即跟著光標遞增變化 (以二進制)。此時可以確定我們已經將 GS 移動到了不穩定字符附近(因為不穩定字符的絕對地址是寫死的)。不穩定字符 排在 M 寄存器之前,那麼,嘗試為 M 賦值,即使不需要做任何運算(賦值一個數字)也會導致計算器死機。用戶輸入無法 被正確的計算,可以考慮 ES:SI 不在正確的位置上,導致輸入無法被計算(因為計算程序讀入起始地址也是寫死的)。

再考慮在計時模式下輸入表達式並計算。計算被提交,但是不顯示結果而且計算器死機。嘗試輸入數字填充,在輸出開始滾動時 M 指示燈亮,到末端出現與進入計時模式時按 DEL 相同的亂碼且不可編輯、不可滾動,直到按下 AC .

嘗試輸入 ( , 到第 6 個時屏幕內容消失。輸入其他帶括號函數會出現亂碼(見附表),輸入不同帶框函數會出現不同 的亂碼。所有表達式均無法計算。

按下 SHIFT 或者 ALPHA 均會使 M 亮起,但此時 RCL M 答案區空白,計算器死機。

991ES PLUS 異常應用/15 亂點重置模式

異常表現

進入未知線性模式,此模式下頂部指示燈全滅(包括角度模式指示燈)且無法切換至自然書寫。

操作方法

  1. 進入 15 次亂點模式
  2. 鍵入 SHIFT 9 (CLR) 3 (All) = (Yes)

此時計算器會白屏

  1. 鍵入 AC