Eric 发表于 2020-11-26 10:41

寄存器浮点如何打补丁

本帖最后由 Icpower 于 2020-11-26 11:10 编辑

请教下寄存器浮点如何补丁



如果JMP到空白地址插入汇编指令fldz
单步后ST0置0了 同时把浮点下移给ST1了 如果继续插入fldz又下移给ST2了

手动把ST0~ST7全部置0运行都没有问题
如果通过汇编指令把ST0~ST7置0 运行后会崩溃
如果通过fcomp st比较st0也会崩溃



xiaolei147 发表于 2020-11-26 10:41

大佬看看 刚录的 希望对你有帮助哈
https://wwx.lanzoux.com/iEjH0isszed

一万八_ 发表于 2020-11-26 11:23

额...你jmp过来的汇编代码补上去了么

Eric 发表于 2020-11-26 11:42

一万八_ 发表于 2020-11-26 11:23
额...你jmp过来的汇编代码补上去了么

我JMP到空白补fcomp st,照搬一下源代码再跳回去的

lexSafe 发表于 2020-11-26 11:59

先FST 再FLD

一万八_ 发表于 2020-11-26 12:00

Icpower 发表于 2020-11-26 11:42
我JMP到空白补fcomp st,照搬一下源代码再跳回去的

可以把mov ,xxxx的地址赋值为0这样他压入的浮点数就是0了

Eric 发表于 2020-11-26 12:01

lexSafe 发表于 2020-11-26 11:59
先FST 再FLD

能详细点吗老哥,浮点的汇编指令不太懂

lexSafe 发表于 2020-11-26 12:28

搜一下浮点指令集。这是一个栈结构,弹栈,再压个0就行了

Eric 发表于 2020-11-26 13:02

本帖最后由 Icpower 于 2020-11-26 13:04 编辑

lexSafe 发表于 2020-11-26 12:28
搜一下浮点指令集。这是一个栈结构,弹栈,再压个0就行了
FUCOM st-比较ST0
FUCOMP st-出栈
这样行么?
FST具体如何填写指令呢= =

Eric 发表于 2020-11-26 13:06

一万八_ 发表于 2020-11-26 12:00
可以把mov ,xxxx的地址赋值为0这样他压入的浮点数就是0了

老哥 浮点数是哪个地址压入的怎么找?
页: [1] 2 3 4
查看完整版本: 寄存器浮点如何打补丁