User: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 分

待补充

加法溢出原理

可知下列等式:

那么,在加法器中就可以通过溢出的方式来计算减法。

一般性指导手册编写规范

本条目将指导您如何正确地编写一个通用的过程、规范和其他类似手册的内容。

以本条目为例。本条目继承自格式手册,并在此公共基础上拓展规范。

条理清晰

手册应按照以下至少一个排序方式对内容进行排序。

  • 时间顺序
  • 空间顺序
  • 逻辑顺序
  • 重要性顺序
  • 其他任何符合一般人思维的顺序

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

表述精确

文章的逻辑用词必须精确。由于中文的表意特性,「和」与「或」经常在口语表述中混淆。在编写手册时,应该使用数学中定义的「和」与「或」。

当所描述的事件或对象相互对立时,连词必须用「或」。如:「该产品适用于室内或室外。」而非「该产品适用于室内和室外。」

可操作

当描述一般步骤时,必须将其转化为可操作的陈述。「可操作」定义如下:

  • 对于任何可以主观解释的词语给予不可产生歧义的定义;
  • 对于任何可能让非专业读者无法理解的词语或步骤给予适当解释;
  • 对于任何步骤不存在操作者的主观因素。

加法器

加法器是计算器制作中的基本部件,分为半加器全加器

半加器

半加器取输入信号 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 表示栈段

前提:通过法二( )进入 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 (CLR) (All) = (Yes)

此时计算器会白屏

  1. 键入 AC