Shift Arithmetic
- 格式:docx
- 大小:130.41 KB
- 文档页数:12
arithmetic英[ə'rɪθmətɪk]美[ə'rɪθmətɪk]n.算术;计算adj.算术的柯林斯词典n,adj1.( school subject )算术The school doesn't seem to teach arithmetic.这所学校好像不教算术。
reading, writing and arithmetic读写算2.( calculations )演算;计算If my arithmetic is right, that makes 72.如果我算得对,结果就是72。
He got his arithmetic wrong.他算错了。
3.( skill in calculation )算术技能;算术知识My arithmetic's not very good.我算术不怎么好。
4. the arithmetic( numerical aspects )数字;数目the arithmetic of the 2009 budget2009年的预算数字双语例句1. My arithmetic's not very good.我算术不怎么好。
2. The school doesn't seem to teach arithmetic.这所学校好像不教算术。
3. He got his arithmetic wrong.他算错了。
4. For the next half-hour we did our arithmetic problems.之后半个小时我们做了算术题。
5. If my arithmetic is right, that makes 72.如果我算得对,结果就是72。
网络释义1. 算术100个SA T数学高分必备单词... area 面积arithmetic算术arithmetic(al) average算术平均数...2. 四则运算热门资料... aesthetic a.(esthetic)美学的,艺术的;审美的arithmetic n.算术,四则运算genetic a.遗传(学)的n.[-s]遗传学...3. 运算运算(Arithmetic):math - Stdlib 数学函数。
C语言常用基本词汇及其他提示语运算符与表达式:1.constant 常量2. variable 变量3. identify 标识符4. keywords 关键字5. sign 符号6. operator 运算符7. statement语句8. syntax 语法9. expression 表达式10. initialition 初始化11. number format 数据格式12 declaration 说明13. type conversion 类型转换14.define 、definition 定义条件语句:1.select 选择2. expression 表达式3. logical expression 逻辑表达式4. Relational expression 关系表达式5.priority优先6. operation运算7.structure 结构循环语句:1.circle 循环2. condition 条件3. variant 变量4. process过程5.priority优先6. operation运算数组:1. array 数组2. reference 引用3. element 元素4. address 地址5. sort 排序6. character 字符7. string 字符串8. application 应用函数:1.call 调用2.return value 返回值3.function 函数4. declare 声明5. `parameter 参数6.static 静态的7.extern 外部的指针:1. pointer 指针2. argument 参数3. array 数组4. declaration 声明5. represent 表示6. manipulate 处理结构体、共用体、链表:1 structure 结构2 member成员3 tag 标记4 function 函数5 enumerate 枚举6 union 联合(共用体)7 create 创建8 insert 插入9 delete 删除10 modify 修改文件:1、file 文件2、open 打开3、close 关闭4、read 读5、write 写6、error 错误序号主要章节常用英汉对照词汇备注1 运算符与表达式(operator and expression )汉语英语常量constant变量variable标识符identify关键字keywords符号sign运算符operator语句statement语法syntax表达式Expression初始化Initialization数据格式number format说明Declaration类型转换type conversion定义Define 、definition2 条件语句(conditionstatement) 选择select表达式expression逻辑表达式logical expression关系表达式Relational expression 优先priority运算operation结构structure3 循环语句(circle statement) 循环circle条件condition变量variant过程process优先priority运算operation4 函数(function) 调用call返回值return value函数function声明declare参数parameter静态的static外部的extern5 数组和指针(array and pointer) 数组array 引用reference元素element地址address排序sort字符character字符串string应用application指针pointer参数argument数组array声明declaration表示represent处理manipulate6 结构体、共用体(structures 、union )结构structure 成员member标记tag函数function枚举enumerate联合( 共用体) union创建create插入insert删除delete修改modify7 文件(file) 文件file打开open关闭close读read写write错误errorProgram Design 程序设计writing program 编写程序standardize vt.使标准化coding the program 编程simplify vt.单一化,简单化programming 程序revision n.校订,修正programmer n.程序员occupy vt.占领,住进logic n.逻辑,逻辑学BASIC 初学者通用符号指令代码machine code 机器代码teaching language 教学语言debug n.DOS命令,调试simplicity n.单纯,简朴compactness a.紧凑的,紧密的timesharing system 分时系统description n.描述,说明interactive language 交互式语言break n.中断manufacturer n.制造业者structure chart 结构图dialect n.方言,语调the program flow 程序流expense n.费用,代价manager module 管理模块uniformity n.同样,划一worder module 工作模块archaic a.己废的,古老的mainmodule 主模块sufficient a.充分的,足够的submodule 子模块data processing 数据处理modify v.修正,修改business application 商业应用outline n.轮廓,概要scientific application 科学应用compose分解lexical a.字典的,词汇的code 代码non-programmer n.非编程人员node vt改为密码notation n.记号法,表示法,注释pseudocode n.伪代码verbosity n.唠叨,冗长commas n.逗点逗号record n.记录documentation 文档subrecord n.子记录flowchart/flow 程表/流程data division 数据部visual a.视觉的procedure division 过程部represent vt.表现,表示,代表comprise vt.包含构成structured techniques结构化技术operator n.运算符,算子straightforward a.笔直的,率直的commercial package 商业软件包subroutine n.子程序generator n.产生器,生产者driver module 驱动模块mathematician n.专家line by line 逐行operator n.作符translate vt.翻译,解释forerunner n.先驱modular 摸块化ancestor n.祖宗cumbersome a.讨厌的,麻烦的teaching programming 编程教学lengthy a.冗长的,漫长的alter vi./vt.改变flaw n.缺点裂纹devclop vt.发达separate a.各别的recompile v.编译assist n.帮助cycle n.循环technician n.技师remove vt.移动,除去straight line 直线category n.种类,类项rectangle n.长方形,矩形P-code p代码virtrally ad.事实上symology n.象征学象征的使用register n.寄存器to summaries 总之,总而言之by convention 按照惯例cyptic n.含义模糊的,隐藏的diamond-shaped a,菱形的bracket n.括号decision n判断obviate 除去,排除terminal n. a终端机,终端的keyword n.关键字card reader 阅读器underline vt.下划线translator program 译程序monadic a. monad(单位)的Programming 程序设计dec/binary n.二进制source language 源语shift 变化,转移,移位machine language 机器overflow n.溢出machine instruction 机器指令arithmetic n.算术,算法computer language 计算机语composite symbol 复合型符号.assembly language 汇编语assignment n.赋值floating point number浮点数proliferation n.增服high-level language高级语pointer n.指针natural language 自然语言array n.数组矩阵,source text 源文本subscript n.下标intermediate language 中间语言type conversion 类型转换software development 软件开发address arithmetic 地址运算map vt.映射,计划denote vt.指示,表示maintenance cost 维护费用subprogram n.子程序legibility n.易读性,易识别separate compilation 分离式编泽amend vt.修正,改善alphabetic a.照字母次序的consumer n.消费者digit n.数字位数enormous a.巨大的,庞大的numeric expression 数值表达式reliability n.可信赖性,可信度tap n.轻打,轻敲,选择safety n.安全,安全设备print zone 打印区property n.财产,所有权column n.列correctness n.正确,functionality n.机能semicolon n.分号portable a.叮携带的,可搬运的survey n.概观.altoggle n.肘节开关task n.作,任务declaration n.宣告说明source program 源程序mufti-dimension array 多维数组object program 目标程序其他提示语:CPU(Center Processor Unit)中央处理单元mainboard主板RAM(random accessmemory)随机存储器(内存)ROM(Read Only Memory)只读存储器Floppy Disk软盘Hard Disk硬盘CD-ROM光盘驱动器(光驱)monitor监视器keyboard键盘mouse鼠标chip芯片CD-R光盘刻录机HUB集线器Modem= MOdulator-DEModulator,调制解调器P-P(Plug and Play)即插即用UPS(Uninterruptable Power Supply)不间断电源BIOS(Basic-input-OutputSystem)基本输入输出系统CMOS(Complementary Metal-Oxide-Semiconductor)互补金属氧化物半导体setup安装uninstall卸载wizzard向导OS(Operation Systrem)操作系统OA(Office AutoMation)办公自动化exit退出edit编辑copy复制cut剪切paste粘贴delete删除select选择find查找select all全选replace替换undo撤消redo重做program程序license许可(证)back前一步next下一步finish结束folder文件夹Destination Folder目的文件夹user用户click点击double click双击right click右击settings设置update更新release发布data数据data base数据库DBMS(Data Base Manege System)数据库管理系统view视图insert插入object对象configuration配置command命令document文档POST(power-on-self-test)电源自检程序cursor光标attribute属性icon图标service pack服务补丁option pack功能补丁Demo演示short cut快捷方式exception异常debug调试previous前一个column行row列restart重新启动text文本font字体size大小scale比例interface界面function函数access访问manual指南active激活computer language计算机语言menu菜单GUI(graphical user interfaces )图形用户界面template模版page setup页面设置password口令code密码print preview打印预览zoom in放大zoom out缩小pan漫游cruise漫游full screen全屏tool bar工具条status bar状态条ruler标尺table表paragraph段落symbol符号style风格execute执行graphics图形image图像Unix用于服务器的一种操作系统Mac OS苹果公司开发的操作系统OO(Object-Oriented)面向对象virus病毒file文件open打开colse关闭new新建save保存exit退出clear清除default默认LAN局域网WAN广域网Client/Server客户机/服务器ATM( AsynchronousTransfer Mode)异步传输模式Windows NT微软公司的网络操作系统Internet互联网WWW(World Wide Web)万维网protocol协议HTTP超文本传输协议FTP文件传输协议Browser浏览器homepage主页Webpage网页website网站URL在Internet的WWW服务程序上用于指定信息位置的表示方法Online在线Email电子邮件ICQ网上寻呼Firewall防火墙Gateway网关HTML超文本标识语言hypertext超文本hyperlink超级链接IP(Address)互联网协议(地址)SearchEngine搜索引擎TCP/IP用于网络的一组通讯协议Telnet远程登录IE(Internet Explorer)探索者(微软公司的网络浏览器) Navigator引航者(网景公司的浏览器)multimedia多媒体ISO国际标准化组织ANSI美国国家标准协会able 能activefile 活动文件addwatch 添加监视点allfiles 所有文件allrightsreserved 所有的权力保留altdirlst 切换目录格式andfixamuchwiderrangeofdiskproblems 并能够解决更大范围内的磁盘问题andotherinFORMation 以及其它的信息archivefileattribute 归档文件属性assignto 指定到autoanswer 自动应答autodetect 自动检测autoindent 自动缩进autosave 自动存储availableonvolume 该盘剩余空间badcommand 命令错badcommandorfilename 命令或文件名错batchparameters 批处理参数binaryfile 二进制文件binaryfiles 二进制文件borlandinternational borland国际公司bottommargin 页下空白bydate 按日期byextension 按扩展名byname 按名称bytesfree 字节空闲callstack 调用栈casesensitive 区分大小写causespromptingtoconfirmyouwanttooverwritean 要求出现确认提示,在你想覆盖一个centralpointsoftwareinc central point 软件股份公司changedirectory 更换目录changedrive 改变驱动器changename 更改名称characterset 字符集checkingfor 正在检查checksadiskanddisplaysastatusreport 检查磁盘并显示一个状态报告chgdrivepath 改变盘/路径node 节点npasswd UNIX的一种代理密码检查器,在提交给密码文件前,它将对潜在的密码进行筛选。
我现将指令系统中各种助记符的英文全名写出来,各种助记符的记忆就会变得很简单o(∩_∩)o...在这之前,先说一下寄存器:数据寄存器分为:AH&AL=AX(accumulator):累加寄存器,常用于运算;在乘除等指令中指定用来存放操作数,另外,所有的I/O指令都使用这一寄存器与外界设备传送数据.BH&BL=BX(base):基址寄存器,常用于地址索引;CH&CL=CX(count):计数寄存器,常用于计数;常用于保存计算值,如在移位指令,循环(loop)和串处理指令中用作隐含的计数器.DH&DL=DX(data):数据寄存器,常用于数据传递。
他们的特点是,这4个16位的寄存器可以分为高8位: AH, BH, CH, DH.以及低八位:AL,BL,CL,DL。
这2组8位寄存器可以分别寻址,并单独使用。
另一组是指针寄存器和变址寄存器,包括:SP(Stack Pointer):堆栈指针,与SS配合使用,可指向目前的堆栈位置;BP(Base Pointer):基址指针寄存器,可用作SS的一个相对基址位置;SI(Source Index):源变址寄存器可用来存放相对于DS段之源变址指针;DI(Destination Index):目的变址寄存器,可用来存放相对于ES 段之目的变址指针。
指令指针IP(Instruction Pointer)标志寄存器FR(Flag Register)OF(overflow flag)DF(direction flag)CF(carrier flag)PF(parity flag)AF(auxiliary flag)ZF(zero flag)SF(sign flag)IF(interrupt flag)TF(trap flag)段寄存器(Segment Register)为了运用所有的内存空间,8086设定了四个段寄存器,专门用来保存段地址:CS(Code Segment):代码段寄存器;DS(Data Segment):数据段寄存器;SS(Stack Segment):堆栈段寄存器;ES(Extra Segment):附加段寄存器。
1 ARM指令英文全称及功能描述V2.0作者:满光明2019年4月9日转载请支持原创,保留此页信息,否则将追究责任前言我在工作前买了一本关于ARM指令的书籍,当时出于方便记忆理解的考量,整理了ARM指令,并且加入了英文的全称。
了解了英文的全称,能够好的帮助记忆和理解。
百度网盘里分享出来的ARM 指令英文全称我看了一下都是我当年整理的版本,但他们把作者的名字去掉了。
几年过去了,ARM技术取得了巨大的进步,ARM以其低功耗、低成本、高性能的优势抢占了移动市场。
相信在不远的未来,ARM会普遍运行在个人电脑和服务器上。
在可穿戴、边缘计算等前沿领域ARM拥有无与伦比的优势。
作为一个技术控,工作以来我一直从事ARM相关的开发工作,计算机领域需要学习的东西太多,但很多基础知识都是相通的。
我也希望能把自己这么多年的技术积累拿出来分享给即将走上硬件开发、底层驱动开发的同仁们本篇仍然以介绍ARM架构以及ARM指令为主,在原来的基础上重新调整了指令顺序,首先介绍ARM 架构不同版本的区别,进而引出基本指令结构,最后详细列出所有指令详表,增强可读性,易于理解。
2一、ARM指令集版本历史计算机完成一定的操作通过指令来实现,不同的指令方式被称为计算机架构,目前计算机主要有两大架构阵营,一是CISC (Complex Instruction Set Computers)复杂指令集架构,另一种是RISC(Reduced Instruction Set Computers)精简指令集架构。
采用CISC架构的代表是Intel和AMD的X86指令集,采用RISC架构的代表是ARM指令集和PowerPC指令集。
ARM架构从诞生到今天从V1版本已经升级到了V8版本,各版本代表的分支型号如下表所示。
从图中可以看出,Cortex-A9 架构的CPU采用的是ARMv7的指令集,目前高性能的64位视频处理,比如Cortex-A72,采用的是ARMv8指令集。
汇编移位:SHL、SHR、SAL、SAR、ROL、ROR、RCL、RCR SHL、SHR、SAL、SAR: 移位指令
;SHL(Shift Left): 逻辑左移
;SHR(Shift Right): 逻辑右移
;SAL(Shift Arithmetic Left): 算术左移
;SAR(Shift Arithmetic Right): 算术右移
;当中的 SHL 和 SAL 同样, 但 SHR 和 SAR 不同.
;SHL、SAL: 每位左移, 低位补 0, ⾼位进 CF
;SHR : 每位右移, 低位进 CF, ⾼位补 0
;SAR : 每位右移, 低位进 CF, ⾼位不变
;它们的结果影响 OF、SF、ZF、PF、CF
;它们的指令格式同样:
SHL r/m, i8
SHL r/m, CL
ROL、ROR、RCL、RCR: 循环移位指令
;ROL(Rotate Left): 循环左移
;ROR(Rotate Right): 循环右移
;RCL(Rotate through Carry Left): 带进位循环左移
;RCR(Rotate through Carry Right): 带进位循环右移
;ROL: 循环左移, ⾼位到低位并送 CF
;ROR: 循环右移, 低位到⾼位并送 CF
;RCL: 循环左移, 进位值(原CF)到低位, ⾼位进 CF
;RCR: 循环右移, 进位值(原CF)到⾼位, 低位进 CF
;它们的结果影响 OF、CF
;它们的指令格式同样:
SHL r/m, i8
SHL r/m, CL。
指令格式:指令{条件}{S} {目的Register},{OP1},{OP2} "{ }"中的内容可选。
即,可以不带条件只有目的寄存器,或只有目的寄存器和操作数1,也可以同时包含所有选项。
“S”决定指令的操作是否影响CPSR中条件标志位的值,当没有S时指令不更新CPSR中条件标志位的值助记符英文全称示例、功能跳转指令BBranch跳转指令B Label;程序无条件跳转到标号Label处执行BLBranch with Link带返回的跳转指令BL Label ;当程序无条件跳转到标号Label处执行时,同时将当前的PC值保存到R14中BLXBranch with Link and exchange带返回和状态切换的跳转指令BLX Label;从ARM指令集跳转到指令中所指定的目标地址,并将处理器的工作状态有ARM状态切换到Thumb状态,该指令同时将PC的当前内容保存到寄存器R14中BXBranch and exchange带状态切换的跳转指令BX Label ;跳转到指令中所指定的目标地址,目标地址处的指令既可以是ARM指令,也可以是Thumb指令数据处理MOVMove数据传送MOV R1,R0,LSL#3;将寄存器R0的值左移3位后传送到R1MVNMove NOT数据非传送MVN R0,#0 ;将立即数0取反传送到寄存器R0中,完成后R0=-1CMPCompare比较指令CMP R1,R0;将寄存器R1的值与寄存器R0的值相减,并根据结果设置CPSR的标志位CMNCompare negative负数比较指令CMN R1,R0 ;将寄存器R1的值与寄存器R0的值相加,并根据结果设置CPSR的标志位TSTTest位测试指令TST R1,#0xffe ;将寄存器R1的值与立即数0xffe按位与,并根据结果设置CPSR的标志位TEQTest equivalence相等测试指令TEQ R1,R2;将寄存器R1的值与寄存器R2的值按位异或,并根据结果设置CPSR的标志位ADDAdd加法运算指令ADD R0,R2,R3,LSL#1;R0 = R2 + (R3 << 1)ADCAdd with carry带进位加法ADCS R2,R6,R10;R2 = R6+R10+!C,且更新CPSR的进位标志位SUBSubtract减法运算指令SUB R0,R1,#256;R0 = R1 –256SBCSubtract with carry带进位减法指令SUBS R0,R1,R2 ;R0 = R1 - R2 - !C,并根据结果设置CPSR的进位标志位RSBReverse subtract逆向减法指令RSB R0,R1,R2 ;R0 = R2 –R1RSCReverse subtract with carry带进位逆向减法指令RSC R0,R1,R2;R0 = R2 –R1 - !CANDAnd逻辑与操作指令AND R0,R0,#3;该指令保持R0的0、1位,其余位清零。
Shift Arithmetic
/p/1940408644
移位的位或二进制的信号
逻辑和位操作
支持移位操作
Shift Arithmetic块可移动比特或二进制小数点的输入信号,或两者。
例如,移位二进制点数据类型sfix(8)的一个输入端上,由两个地方的右侧和左侧,给出这些十进制值。
此块执行有符号数算术移位。
因此,回收的块的最重要位的每个比特移位。
转移位数据类型sfix(8)一个输入端上,由两个地方的右侧和左侧,给出这些十进制值。
该模块支持以下数据类型的输入信号:
以下规则确定输出数据类型:
块参数支持下列数据类型:
见Data Types Supported by Simulink
Shift Arithmetic块对话框中显示如下:
Bits to shift: Source
指定是否进入位对话框上的转移或继承的值从输入端口。
Bits to shift: Direction
指定方向的位转移:左,右,或双向。
Bits to shift: Number
指定一个标量,矢量,或阵列的位移位值。
此参数时,可以使用Bits to shift: Source 是Dialog.
Binary points to shift
指定一个整数的位置数的输入信号在二进制点转移。
正值表示右移,而负值表示向
左移位
Diagnostic for out-of-range shift value
指定是否将产生一个警告或错误时在模拟块包含范围的移值。
选项包括:•None—不出现任何警告或错误
•Warning—在MATLAB命令窗口显示警告并继续模拟。
•Error—停止模拟,在模拟诊断浏览器显示一个错误。
见Simulation and Accelerator Mode Results for Out-of-Range Bit Shift Values.
Check for out-of-range 'Bits to shift' in generated code
选中此复选框,在生成的代码包含条件语句,防止范围的位移位值。
此复选框时,可以使用Bits to shift: Source是Input port.
见Code Generation for Out-of-Range Bit Shift Values.
定义的范围位移位
假设,WL是输入字长度。
下图中显示的阴影区域范围的位移位值的左和右移位。
同样,在下面的图显示的阴影区域范围的位移位值的双向变化。
诊断范围的移位响应如下,具体操作模式:
模拟和加速模式结果的范围位偏移值
假设U是输入,WL是输入字长度,并且Y是输出。
输出范围的位左移移值如下:同样,输出范围的位右移移值如下:
对于双向转移,输出范围的位移位值如下:
代码生成的范围位偏移值
对于所生成的代码方法,该的设置范围的移位处理,满分取决于Check for out-of-range 'Bits to shift' in generated code.
对于右移符号负输入,大多数C编译器使用,而不是逻辑移位算术移位。
移位运算块生成的代码依赖于这个编译器的行为。
右移位输出块
以下model使用此对话框与块输入端口的右移位的行为比较。
关键块体的Constant块参数设置如下
关键块体的Shift Arithmetic块参数设置如下
最上方Shift Arithmetic块需要一个输入端124,其对应于01111100以二进制格式。
数位两地转移到右侧产生00011111以二进制格式。
因此,块输出31。
底部Shift Arithmetic块作为最上方块执行相同的操作。
然而,底部块接收位移位值通过输入端口,而不是对话框。
通过提供这个值作为输入信号,你可以改变的比特数在模拟过程中转移。
点偏移二进制输出块
以下model显示二进制点偏移的效果。
关键块体的Constant块参数设置如下:
Shift Arithmetic块的关键块体的参数设置如下
最上方Shift Arithmetic块需要一个输入端124,其对应于01111100以二进制格式。
以二进制格式的二进制点三个地方转移到右侧产生01111100000。
因此,最上方块输出995。
底部Shift Arithmetic块还需要输入124。
移动二进制点左三地的生产01111.100以二进制格式。
因此,底块输出15.5。