x87

    0热度

    1回答

    在Intel IA-32软件开发人员手册中。它说x87 FPU控制字的第8位决定了浮点计算的精度。默认精度是双倍扩展精度。指令“FINIT”执行后,精度被设置为双浮动。 问题在于,执行“FINIT”后,x87 FPU仅使用64位80位数据寄存器进行计算。并且FPU不能接受(输出)从(到)内存的双扩展精度浮点值。这是正确的吗?

    -1热度

    1回答

    我正在使用ASM中的浮点单元做一个更大的程序,但是我收到了错误的数字。我做了一个简单的代码,它也给出了错误的数字。任何人都知道为什么?这里有什么问题?我使用的是Ubuntu 32b。 SYSEXIT = 1 .align 32 .data a: .float 1 b: .float 2 test1: .float 0 .text .global main main: f

    1热度

    1回答

    我刚开始使用32位程序集,我很困惑。我有以下代码: .586 .MODEL FLAT .STACK 4096 .DATA .CODE main PROC finit fldpi fld1 fcom fstsw ax sahf JL jumper nop jumper: nop nop main ENDP END 现在从我个人理解,我推圆周率到堆

    0热度

    1回答

    flds指令应该将值存储在寄存器st0中。我正在调试我没有编码的共享库。有时flds指令对st0没有任何影响。下面是gdb输出的情况下,当它的工作和一个案件,当它失败。在破碎的情况下,fstat寄存器是0x2261而不是0x2061。 0x200标志表示什么? 工作版本: 0x6d9b4f : flds -0x4(%ebp) 0x6d9b52 : leave 0x6

    3热度

    2回答

    我一直在尝试使用--with-fpmath=387来源编译gcc 4.x,但我得到这个错误:"Invalid --with-fpmath=387"。我看着在CONFIGS,发现它不支持此选项(即使文档仍然提到它作为一个可能的选择): case ${with_fpmath} in avx) tm_file="${tm_file} i386/avxmath.h" ;;

    2热度

    1回答

    正在做一个破解,试图写一个keygen,我对某些FPU指令感到困惑。 fild qword ptr ss:[esp] ; loads 4275451536.0000000000 into ST0. ESP has FED63690 lea esp, dword ptr ss:[esp+8] fstp qword ptr ss:[ebp-410] ; loads D2000000 into e

    2热度

    1回答

    我想知道是否可以使用SSE与x87并行。因此,考虑下面的伪代码, 1:sse_insn 2:x87_insn 会管线并行执行1和2假设他们可以并行执行?

    0热度

    2回答

    的我有一个问题:假设我的浮点单元的堆栈如下: ST0 = +1.5000000000000000e+0001 ST1 = +5.0000000000000000e+0000 ST2 = +2.5000000000000000e+0001 ST3 = +0.0000000000000000e+0000 ST4 = +0.0000000000000000e+0000 ST5 = +0.000000

    0热度

    2回答

    我在写一个批处理文件以删除所有网络映射,然后重新映射。 在第一部分中,当前映射被删除时,如果映射不存在并且它试图删除它,则会输出一条错误消息“找不到网络路径”。我不想看到这些,但是我确实希望看到在映射的第二部分发生的任何错误。我该怎么做呢? echo delete all mappings net use A: /delete net use B: /delete net use C: /

    0热度

    1回答

    我在汇编语法方面遇到了一些困难。在我的任务中,我们需要将一系列参数传递给x87浮点寄存器。其中一个参数是double,我们应该使用这个double作为数组。 我已经使用fldl 4(%esp)将它加载到堆栈,但现在我有访问其数组元素的任务。我知道并理解在x86中操作整数数组的语法,但我不明白如何在x87堆栈中访问数组的索引。 因为它在我的浮点堆栈中的唯一,我知道,它可以在%ST(0)