ARM学习笔记7——乘法指令

  ARM乘法指令完成两个数据的乘法,两个32位二进制数相乘的结果是64位的4积。

其中:

  1、“RadHi:RdLo”是由RdHi(最高有效32位)和RdLo(最低有效32位)链接形成的64位数,“[31:0]”只选取结果的最低有效32位

  2、简单的赋值由“:=”表示

  3、累加(将右边加到左边)是由“+=”表示

一、MUL乘法指令

  1、作用
    将Rm和Rs中的值相乘,结果的最低32位保存到Rd中
  2、语法格式
    MUL{<condition>}{S} <Rd>,<Rm>,<Rs>
  3、参数说明
    3.1、S:S位(bit[20])决定指令的操作是否影响CPSR中的条件标志位N位和Z位的值。当S=1时,跟新CPSR中的条件标志位的值;当S=0,指令不更新CPSR中的条件标志位。
    3.2、<Rd>:寄存器位目标寄存器
    3.3、<Rm>:第一个乘数所在寄存器
    3.4、<Rs>:第二个乘数所在寄存器

  4、举例:

    R1=R2*R3用指令表示为 MUL R1,R2,R3

二、MLA乘-累加指令
  1、作用
    将Rm和Rs中的值相乘,再将乘积加上第三个操作数,结果的最低32保存到Rd中
  2、语法格式
    MLA{<condition>}{S} <Rd>,<Rm>,<Rs>,<Rn>
  3、参数说明:
    3.1、<Rd>:寄存器位目标寄存器
    3.2、<Rm>:第一个乘数所在寄存器
    3.3、<Rs>:第二个乘数所在寄存器
    3.4、<Rn>:将要累加到<Rm>*<Rs>结果中的第三操作数
  4、举例说明
    R1=R2*R3+10用指令表示为 : 

     MOV  R0,#0x0A
     MLA  R1,R2,R3,R0

三、UMULL无符号数长乘指令
  1、作用
    UMULL为64位无符号乘法指令,指令将Rm和Rs中的值做无符号数相乘,结果的低32位保存到RsLo中,而高32位保存到RdHi中。
  2、语法格式
    UMULL{<condition>}{S} <RdLo>,<RdHi>,<Rm>,<Rs>
  3、参数说明
    3.1、<RdLo>:寄存器位目标寄存器,存储结果的低32位值
    3.2、<RdHi>:寄存器位目标寄存器,存储结果的高32位值
    3.3、<Rm>:第一个乘数寄存器
    3.4、<Rs>:第二个乘数寄存器
  4、举例
    完成(R1,R0)=R5*R8操作
    UMULL R0,R1,R5,R8

四、UMLAL无符号长乘-累加操作指令
  1、作用
    UMLAL位64位无符号长乘-累加指令,指令将Rm和Rs中的值做无符号数相乘,64位乘积与RdHi,RdLo相加,结果的低32位保存到RsLo中,而高32位保存到RdHi中。
  2、语法格式
    UMLAL{<condition>}{S} <RdLo>,<RdHi>,<Rm>,<Rs>

  3、举例
    完成(R1,R0)=R5*R8+(R1,R0)操作
    UMLAL R0,R1,R5,R8

五、SMULL有符号数长乘操作指令
  1、作用
    SMULL64位有符号长乘指令,指令将Rm和Rs中的值做有符号数相乘,结果的低32位保存到RsLo中,而高32位保存到RdHi中
  2、语法格式
    SMULL{<condition>}{S} <RdLo>,<RdHi>,<Rm>,<Rs>
  3、实例
    完成(R3,R2)=R7*R6  
    SMULL R2,R3,R7,R6

六、SMLAL有符号长乘-累加操作指令
  1、作用
    SMLAL为64位有符号长乘法指令,指令将Rm和Rs中的值做有符号数相乘,64位乘积与RdHi,RdLo相加,结果的低32位保存到RsLo中,而高32位保存到RdHi中。
  2、语法指令
    SMLAL{<condition>}{S} <RdLo>,<RdHi>,<Rm>,<Rs>
  3、实例
    完成(R3,R2)=R7*R6+(R3,R2)
    SMLAL R2,R3,R7,R6

 

 

 

转载于:https://www.cnblogs.com/zjzsky/p/3532818.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/248368.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

固态硬盘Ghost安装Windows 10无法引导的问题

机器配置如下&#xff1a; 电脑型号 技嘉 B360M POWER 台式电脑操作系统 Windows 10 64位 ( DirectX 12 )处理器 英特尔 Core i7-8700 3.20GHz 六核主板 技嘉 B360M POWER ( 英特尔 PCI 标准主机 CPU 桥 - CannonLake - A3…

[转]矩阵分解在推荐系统中的应用

矩阵分解是最近几年比较火的算法&#xff0c;经过kddcup和netflix比赛的多人多次检验&#xff0c;矩阵分解可以带来更好的结果&#xff0c;而且可以充分地考虑各种因素的影响&#xff0c;有非常好的扩展性&#xff0c;因为要考虑多种因素的综合作用&#xff0c;往往需要构造cos…

iPhone 系统刷机

1. 下载好固件(爱思 或者 pp助手) e.g. http://jailbreak.25pp.com/gujian/ 2. 将电脑与手机连接上&#xff0c;弹出iTunes软件即可 3. 长按手机电源键 关闭手机 4. 按住电源健&#xff0c;出现屏幕亮出现苹果标志后再按住Home健 5. 屏幕黑屏时松开电源健&#xff0c;继续按照H…

Java内存模型深度解析:总结

处理器内存模型 顺序一致性内存模型是一个理论参考模型&#xff0c;JMM和处理器内存模型在设计时通常会把顺序一致性内存模型作为参照。JMM和处理器内存模型在设计时会对顺序一致性模型做一些放松&#xff0c;因为如果完全按照顺序一致性模型来实现处理器和JMM&#xff0c;那么…

sourcetree,创建工作流报错:Fatal: Not a gitflow-enabled repo yet. Please run 'git flow init' first.-》解决办法...

1、打开项目下.git/config文件&#xff0c;或者如下图操作&#xff1a; 2、打开config文件以后&#xff0c;删除所有 [gitflow *条目并保存文件 3、关闭并重新打开sourcetree 4、仓库-》Git 工作流-》初始化仓库即可转载于:https://www.cnblogs.com/yxfeng/p/10536955.html

关于a标签的href属性的注意事项

今天在做一个lightbox效果的时候出现了一个问题。 当往下滚动再点击按钮出现lightbox的时候&#xff0c;lightbox的遮罩层不能铺满&#xff08;即滚动高度处不能铺上&#xff09;&#xff0c;如下图所示。原因是提交按钮使用的是a标签&#xff0c;当给a标签写上href属性的时候&…

在mac上安装gitlab

参考链接&#xff1a; https://www.cnblogs.com/floodwater/p/10138265.html 注意事项&#xff1a; 在安装gitlab-ce时&#xff0c;配置hostname域名后&#xff0c;通过域名访问gitlab时&#xff0c;需要配置本机hosts文件&#xff0c;不然不能访问 本地hosts文件中配置后 就可…

d3.js 入门指南

说到数据可视化&#xff0c;我们会行到很多优秀的框架&#xff0c;像echarts、highcharts&#xff0c;这些框架很优雅&#xff0c;健壮&#xff0c;能满足我们对可视化的大部分需求&#xff0c;但是缺点也很明显&#xff0c;就是这些框架几乎是不可定制化的&#xff0c;当遇到特…

Kubernetes系列之Helm介绍篇

本次系列使用的所需部署包版本都使用的目前最新的或最新稳定版&#xff0c;安装包地址请到公众号内回复【K8s实战】获取 介绍 Helm 是 Deis 开发的一个用于 Kubernetes 应用的包管理工具&#xff0c;主要用来管理 Charts。有点类似于 Ubuntu 中的 APT 或 CentOS 中的 YUM。Helm…

HTNL笔记整合

简述概括了HTML 的部分内容&#xff0c;不是很完善&#xff0c;希望能给予你们相对的帮助。 一下文件的整合百度云链接&#xff1a;HTML整合笔记 第一章 HTML入门 课时1&#xff1a;HTML初识 1、英文名&#xff08;Hyper Text Markup Language&#xff09;超文本标签语言 对…

EXCEL 图表 只在拐点的时候显示数字

EXCEL图表只在折线的拐点显示数值&#xff0c;中间不需要显示。同时往下拐的&#xff0c;显示在上方&#xff0c;往上的显示在下方&#xff0c;这样数值不会挡住线。 首先&#xff0c;做一些模拟数据 因为起点和终点数值必须显示&#xff0c;所以单元格&#xff0c;C2 D2 C19 D…

SQL语法(1、安装操作)

1、数据库的系统概述及安装与基本使用 bilibili可查找安装视频百度了解一下 – 使用超级管理员登录 CONN sys/change_on_install AS SYSDBA ; – 创建c##scott用户 CREATE USER c##scott IDENTIFIED BY tiger ; – 为用户授权 GRANT CONNECT,RESOURCE,UNLIMITED TABLESPACE…

第22章:MongoDB-聚合操作--聚合管道--$out

①$out$out&#xff1a;利用此操作可以将查询结果输出到指定的集合里面。②范例&#xff1a;将投影的结果输出到集合里③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳转载于:https://www.cnblogs.com/Lucky-stars/p/10555296.html

SQL简单查询

1、简单查询 使用Oracle sql developer使用前&#xff0c;必须开启的服务&#xff1a; 查询emp表上的数据&#xff1a; select * from emp; Null为空&#xff0c;空不代表等于没有&#xff0c;null&#xff01;0. 重新连接后&#xff0c;注意大小写及空格位&#xff01; 简…

SQL限定查询

1、限定查询与排序显示 1.1限定查询的认识&#xff1a; 列&#xff1a;表中有大数据的信息&#xff0c;对数据进行筛选&#xff0c;查询到自己想要的信息。 &#xff08;数据过多显示过慢&#xff0c;或者死机&#xff0c;在已有的样本数据库容器CDB转换为PDB之中&#xff09;…

浅谈五大Python Web框架

http://www.csdn.net/article/2011-02-17/292058 导读&#xff1a;作者飞龙写了一篇《浅谈Python Web框架》&#xff0c;文中他介绍了几个Python Web框架和自己对选择框架的分析。在他看来&#xff0c;用Django来快速开发一些Web运用是很不错的选择。以下是文章内容&#xff1a…

主流浏览器和内核及Web标准

目前网络市场的浏览器主流&#xff1a; 课时3&#xff1a;web标准 WEB标准 w3c 万维网联盟组织&#xff0c;制定web标准的机构。 网页主要由三部分组成&#xff1a; 结构&#xff08;Structure&#xff09;、 表现&#xff08;Presentation&#xff09; 行为&#xff08;Beh…

机器学习中的损失函数 (着重比较:hinge loss vs softmax loss)

https://blog.csdn.net/u010976453/article/details/78488279 1. 损失函数 损失函数&#xff08;Loss function&#xff09;是用来估量你模型的预测值 f(x)f(x) 与真实值 YY 的不一致程度&#xff0c;它是一个非负实值函数&#xff0c;通常用 L(Y,f(x))L(Y,f(x)) 来表示。损失函…

HTML入门第一和第二章

课时4&#xff1a;HTML初识 1、英文名&#xff08;Hyper Text Markup Language&#xff09;超文本标签语言 对网页上的内容进行描述 课时5&#xff1a;HTML骨架 课时6&#xff1a;我的第一个页面及其标签简介 课时7&#xff1a;骨架记忆法 课时8&#xff1a;什么是标签及其分…

H5第一天

移动Web - 基础&流式布局 目标 了解移动端主要浏览器的内核掌握用谷歌浏览器调试移动端页面&#xff08;重要&#xff09;了解布局视口、视觉视口、理想视口使用mate标签设置理想视口&#xff08;重要&#xff09;了解视网膜屏、物理像素、二倍图会使用background-size设…