欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

关于浮点运算的一点补充 (1千字)

关于浮点运算的一点补充 (1千字)

关于浮点运算的一点补充

㈠  关于协处理器指令
 
    数值运算协处理器和处理器(现在的CPU都内置协处理器)共同监视着指令流,
如果是数值运算协处理器指令则由协处理器执行,如果不是协处理器指令,则由处
理器执行.

㈡  关于ST(0)、ST(1)、...ST(n)
   
  ST(n)为堆栈寄存器,也叫做浮点寄存器. 运算结果及出栈,入栈都是对ST(n)的
操作.这也正是用TRW2000等调试工具代过浮点运算指令时看不到动静的原因.因为
用TRW2000代过浮点运算指令时,浮点运算的结果在堆栈寄存器,出栈入栈也是对堆
栈寄存器操作,所以在TRW2000的寄存器窗口中看不出变化. 

㈢  关于指令中的P、R、I。
 ①    命令后面加上字母P,则表示该指令执行完后再进行一次堆栈寄存器弹出操作,
      如:FADD和FADDP .
  ②  命令后面加上字母R,表示该命令是反向模式。如:FDIV 和 FDIVR
  ③  命令中第二个字母是I,表示以整数操作。如:FLD 和 FILD
㈣  浮点数的阶码部分为偏移阶码.
  ① 32位长浮点数用 7FH  为偏移
 
  ② 64位长浮点数用 3FFH  为偏移
  ③ 80位长浮点数用 3FFFH 为偏移
   
㈤   关于协处理器与处理器之间的数据交换
    指令 FSTSW AX 可以直接将状态寄存器的内容复制到AX.
  另外 FSTSW指令可以将状态寄存器的内容复制到内存

㈥  关于标记寄存器
  每个协处理器堆栈寄存器对应一个标记寄存器,来标明堆栈寄存器中的内容.它标
明了堆栈中的各数是合法还是非法,是无穷还是为0或空.
    00=合法
    01=0
    10=非法或无穷
    11=空

㈦  关于指令系统
  在《加密与解密--软件保护技术及完全解决方案》一书的附录部分,有浮点指令小结,
在352页,指令很全, 而且附带了一个例子。
    好了,先写这么些吧
                                          破解勇[CCG]

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功