tiven1 2022-06-08 19:55 采纳率: 0%
浏览 23
已结题

umull之后判断结果的高32位是否为0这种汇编是怎样的逻辑?

下面是汇编代码:

MOV.W           R11, R3,LSL#1  //R3是一个unsigned int的入参
MOVS            R0, #0x44 ; 'D'
UMULL.W         R0, R1, R11, R0
MOVS            R2, #0
CMP             R1, #0
IT NE
MOVNE           R1, #1
CMP             R1, #0  
IT NE
MOVNE.W         R0, #0xFFFFFFFF
MOVS            R1, #0
BLX             j__Znajii ; operator new[](uint,int,int)

这段汇编对于R0来说是怎样的生成逻辑?
我知道先进行64位的乘法,然后判断结果的高32位是否为0,关键还判断了两次,这点令我疑惑。

  • 写回答

1条回答 默认 最新

  • 赵4老师 2022-06-09 09:07
    关注

    单步调试

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 6月16日
  • 创建了问题 6月8日

悬赏问题

  • ¥15 关于#python#的问题:使用ATL02数据解算光子脚点的坐标(操作系统-windows)
  • ¥115 关于#python#的问题:未加密前两个软件都可以打开,加密后只有A软件可打开,B软件可以打开但读取不了数据
  • ¥15 在matlab中Application Compiler后的软件无法打开
  • ¥15 想问一下STM32创建工程模板时遇到得问题
  • ¥15 Fiddler抓包443
  • ¥20 Qt Quick Android 项目报错及显示问题
  • ¥15 而且都没有 OpenCVConfig.cmake文件我是不是需要安装opencv,如何解决?
  • ¥15 oracleBIEE analytics
  • ¥15 H.264选择性加密例程
  • ¥50 windows的SFTP服务器如何能批量同步用户信息?