ARM SIMD instruction -- ucvtf

UCVTF:

Unsigned fixed-point Convert to Floating-point (vector). This instruction converts each element in a vector from fixed-point to floating-point using the rounding mode that is specified by the FPCR, and writes the result to the SIMD&FP destination register。

无符号定点转换为浮点(向量)。此指令使用FPCR指定的舍入模式将向量中的每个元素从定点转换为浮点,并将结果写入SIMD&FP目标寄存器。

unsigned long long proc_stt_jf = 0;

402230: 9102c3e4 add x4, sp, #0xb0 // x4=&proc_stt_jf=sp+0xb0 --> sp+176

...

402888: fd405be8 ldr d8, [sp, #176] // d8=proc_stt_jf

...

402934: f94023e0 ldr x0, [sp, #64] // x0=buf

402938: d2800001 mov x1, #0x0 // #0

40293c: 97fffc49 bl 401a60 <strtod@plt> // d0=strtod(buf, 0)

402940: 7e61d901 ucvtf d1, d8 // d1=proc_stt_jf

=> 0x0000000000402934: e0 23 40 f9 ldr x0, [sp, #64]

(gdb) n

0x0000000000402938 in ?? ()

=> 0x0000000000402938: 01 00 80 d2 mov x1, #0x0 // #0

(gdb)

0x000000000040293c in ?? ()

=> 0x000000000040293c: 49 fc ff 97 bl 0x401a60 <strtod@plt>

(gdb)

0x0000000000402940 in ?? ()

=> 0x0000000000402940: 01 d9 61 7e ucvtf d1, d8

(gdb) p/f $d8

9 = {f = 0, u = 0, s = 0} (gdb) p/f d1
$10 = {f = 2.2250738585072014e-308, u = 2.2250738585072014e-308, s = 2.2250738585072014e-308}

(gdb) n

0x0000000000402944 in ?? ()

=> 0x0000000000402944: 21 18 69 1e fdiv d1, d1, d9
(gdb) p/f d1 11 = {f = 0, u = 0, s = 0}

(gdb) p/f $d8

$12 = {f = 0, u = 0, s = 0}

相关推荐
万法若空3 小时前
8086/8088实模式的内存布局
汇编
浩浩测试一下1 天前
内网---> WriteOwner权限滥用
网络·汇编·windows·安全·microsoft·系统安全
一品人家2 天前
win32汇编使用GDI+入门教程之九
汇编·windows·win32汇编
虚构之人2 天前
二进制漏洞挖掘(WinAFL Fuzzing)Windows篇
汇编·网络安全·信息安全·系统安全
一品人家4 天前
win32汇编使用GDI+入门教程之六
汇编·windows·win32汇编
前端菜鸟日常5 天前
鸿蒙开发实战:100 个项目疑难杂症汇编
汇编·华为·harmonyos
188号安全攻城狮6 天前
【PWN】HappyNewYearCTF_9_ret2syscall
linux·汇编·安全·网络安全·系统安全
万法若空6 天前
Vim常用指令汇编
汇编·编辑器·vim
请输入蚊子7 天前
«操作系统真像还原» 第二章 编写MBR主引导记录
linux·汇编·操作系统·bochs·操作系统真像还原
188号安全攻城狮7 天前
【PWN】HappyNewYearCTF_8_ret2csu
linux·汇编·安全·网络安全·系统安全