- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
当处理器执行在Jazelle状态: 所有指令 8 bits 宽 处理器执行 word 存取一次取4条指令 ARM指令集简介 ARM与MIPS指令集比较 寻址方式 比较和条件分支 ARM特色 ARM与MIPS指令集比较 ARM与MIPS处理器是同年发布的,都遵循简洁的设计哲学,二者的主要区别是,MIPS有更多的寄存器,而ARM有更多的寻址方式。 ARM MIPS 发布时间 1985 1985 指令大小(位) 32 32 寻址空间(大小,模式) 32,平坦 32,平坦 数据对齐 对齐 对齐 数据寻址模式 9 3 整数寄存器(个数,模式,大小) 15通用寄存器*32位 31通用寄存器*32位 I/O 存储器映射 存储器映射 指令名 ARM MIPS 加法 add addu,addiu 加法(溢出捕获) adds;swivs add 减法 sub subu 减法(溢出捕获) subs;swivs sub 乘法 mul mult,multu 除法 ----- div,divu 与 and and 或 orr or 异或 eor xor 取寄存器高位 ----- lui 逻辑左移 lsl sllv,sll 逻辑右移 lsr srlv,srl 算术右移 asr srav,sra 比较 cmp,cmn,tst,teq slt/i,slt/u 寄存器|寄存器型指令 指令名 ARM MIPS 取有符号数字节 ldrsb lb 取无符号数字节 ldrb lbu 取有符号数半字 ldrsh lh 取无符号数半字 ldrh lhu 取字 ldr lw 存字节 strb sb 存半字 strh sh 存字 str sw 读写特殊寄存器 mrs,msr move 原子交换 swp,swpb ll;sc 数据传送指令 寻址方式 与MIPS相比,ARM没有专门的寄存器保存0这个数值,MIPS只有3种寻址方式,ARM有更多种(有一些不同的分类方法)。 2种存储器共有的寻址方式为寄存器寻址、立即寻址和寄存器相对寻址。 寄存器寻址 寄存器中的数值作为操作数,指令中地址码字段给出的是寄存器编号,指令执行时直接取出寄存器值操作。 ADD R0,R1,R2 ; R0?R1+R2 该指令的执行效果是将寄存器R1和R2的内容相加,其结果存放在R0寄存器中。 MOV R1,R2 ; R1?R2 该指令的执行效果是将寄存器R2的内容传送到寄存器R1中。 立即寻址 立即寻址是一种特殊的寻址方式,指令中在操作码字段后面的地址码不是通常意义上的操作数地址,而是操作数本身。这样的数称为操作数。 ADD R3,R3,#1 ; R3?R3+1 AND R8,R7,#0xff ; R8?R7[7:0] SUB R0,R0,#1 ;R0?R0-1 第2个源操作数为一个立即数,以“#”为前缀,十六进制值以在“#”后加“0x”表示。 寄存器相对寻址 前索引寻址方式:基址需加(或减)偏移来计算访问的地址。 LDR R0,[R1,#4] ; R0?[R1+4] 后索引寻址方式:基址不带偏移作为传送的地址,传送后自动索引。 LDR R0,[R1],#4 ; R0?[R1] ; R1?R1+4 寄存器移位寻址 这种寻址方式是ARM指令集特有的,第2个寄存器操作数在与第1个操作数结合之前,先选择进行移位操作,再结合。 ADD R3,R2,R1,LSL #3 ; R3?R2+8×R1 MOV R0,R2,LSL,#3 ; R0?8×R2 可以采取的移位操作如有: LSL:逻辑左移 LSR:逻辑右移 ASR:算术右移 ROR:循环右移 RRX:带进位位循环右移 寄存器间接寻址 寄存器间接寻址就是以寄存器中的值作为操作数的地址,而操作数保存在寄存器指定地址的存储单元中,即寄存器为操作数的地址指针。 ADD R3,R2,[R1] ; R3?R2+[R1] LDR R0,[R1] ;R0?[R1] STR R0,[R1] ;[R1]?R0 寄存器加索引寻址 指令指定一个基址寄存器,再指定另一个寄存器(索引),其值作为位移加到基址上形成存储器地址。 LDR R0,[R1,R2] ; R0?[R1+R2] 多寄存器寻址 多寄存器寻址方式就是用一条指令完成多个寄存器值的传送,允许一条指令完成传送最多16个通用寄存器的值。 LDMIA R1,{R0,R2,R5} ;R0?[R1] R2?[R1+4] R5?[R1+8] STMIA R1
您可能关注的文档
最近下载
- TSG+21-2016 固定式压力容器安全技术监察规程.docx VIP
- 旋律-诗意与激情的倾诉 (第二课时) 课件(共34张PPT内嵌音视频)高中音乐沪音版必修1音乐鉴赏.pptx VIP
- DB2205_T3.2-2024_通化人参种植技术规程第2部分:非林地种植_通化市.docx VIP
- 2023年四川省内江市中考语文试题卷(含答案解析).docx
- 02J603-1 铝合金门窗图集标准.docx VIP
- 诗歌意境与意象.docx VIP
- —风管工程量计算.pptx VIP
- DBJ51/T 193-2022 四川省金属与石材幕墙工程技术标准(压缩版).pdf VIP
- 中国空白地图(打印).pptx VIP
- 2025-2026学年统编版语文七年级上册第二单元主题情境卷(含答案).doc VIP
文档评论(0)