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}

相关推荐
我在人间贩卖青春6 天前
汇编之伪指令
汇编·伪指令
我在人间贩卖青春6 天前
汇编之伪操作
汇编·伪操作
济6176 天前
FreeRTOS基础--堆栈概念与汇编指令实战解析
汇编·嵌入式·freertos
myloveasuka6 天前
汇编TEST指令
汇编
我在人间贩卖青春6 天前
汇编编程驱动LED
汇编·点亮led
我在人间贩卖青春6 天前
汇编和C编程相互调用
汇编·混合编程
myloveasuka7 天前
寻址方式笔记
汇编·笔记·计算机组成原理
请输入蚊子7 天前
《操作系统真象还原》 第六章 完善内核
linux·汇编·操作系统·bochs·操作系统真像还原
myloveasuka7 天前
指令格式举例
汇编·笔记·计算机组成原理
我在人间贩卖青春8 天前
汇编之分支跳转指令
汇编·arm·分支跳转