fx-991CN X bug笔记——变量与历史记录篇

已知异常变量会修改历史记录,其原理值得探讨。

单字节变量

字符表,广义上的单字节变量都在第4行icon-default.png?t=O83Ahttps://blog.csdn.net/weixin_67572129/article/details/142435047#t0不出意外,变量存储一个数值。其他模式存储变量的位置上,复数模式时存储实部。每个变量存为10个字节。正常只会用到前10个变量,计算器为前12个变量留了位置,后4个@与下文的历史记录重叠。

复位?存储器

清除所有存储器的内容
即使您按AC、更改计算模式或关闭计算器的电源, Ans存储器、独立存储器和变量内容仍将保留。如果需要清除所有存储器的内容,请执行以下步骤。

SHIFT+9(复位)+2(存储器)+等于(是)

——说明书第25页

在执行此操作时,会且仅会前10个变量设为0,不会影响后面的PreAns或@或4个@。

变量的开机检查

如果以上步骤均无法更正问题,请按[开机]键。这会使计算器执行例行检查,检查计算功能是否操作正确。如果计算器发现任何异常,那么它会自动初始化计算模式,并清除存储器内容。

——说明书第61页

在开机时,会检查前10个变量,看看它区域二的第一个字节是否是个合法的十进制、区域四是否以0开头。如果有的变量不满足,那么会进行极高等级的初始化,与自检等级相同,自然也会“初始化计算模式,并清除存储器内容”。

历史记录

12个变量后,紧接着历史记录。历史记录区总长200个字节,较新的历史记录存在较后面。

每条历史记录按以下方式存储:

  • 三个字节,表示这条的存储格式。
    • 例如:是否有虚部、Pol、Rec等
  • 10~20个字节,1~2个数值,表示这条的答案。
    • 两个数值是复数模式下有虚部、或Pol、Rec、÷R等产生的
      • 在复数模式下答案有虚部时产生的2个数值时,先存实部、后存虚部
  • 长度不定,以字节23结尾,表示这条的算式。
    • 如果在读到字节23之前读到了字节00,那么认为这不是一条历史记录,即前一条是最后一条历史记录。

据说,是因为字符23冒号不会出现在历史记录中,编程时就把字节23设为算式终止符。但是,可以直接打出字符FE23似乎却被遗忘了,由此产生了一个著名的bug:字符转换器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值