Spaces:
Runtime error
Runtime error
| _start | |
| .data | |
| 16 | |
| float0low: | |
| dd 12345.678 | |
| float0high: | |
| dd 1234.5 | |
| float1low: | |
| dd 0x80000001.0 | |
| float1high: | |
| dd -2147483130.0 | |
| mxcsr: | |
| dd 0 | |
| ; Set mxcsr regiter rouding bits | |
| %macro setRoundingBits 1 | |
| stmxcsr [mxcsr] | |
| mov eax, [mxcsr] | |
| and ax, 0x9F80 | |
| or ah, %1 | |
| mov [mxcsr], eax | |
| ldmxcsr [mxcsr] | |
| %endmacro | |
| "header.inc" | |
| setRoundingBits 0x00 ; Round to nearest | |
| cvtps2pi mm0, [float0low] | |
| cvtps2pi mm4, [float1low] | |
| setRoundingBits 0x20 ; Round down | |
| cvtps2pi mm1, [float0low] | |
| cvtps2pi mm5, [float1low] | |
| setRoundingBits 0x40 ; Round up | |
| cvtps2pi mm2, [float0low] | |
| cvtps2pi mm6, [float1low] | |
| setRoundingBits 0x60 ; Round toward zero | |
| cvtps2pi mm3, [float0low] | |
| cvtps2pi mm7, [float1low] | |
| "footer.inc" | |