ARM汇编指令特点

来源:互联网 发布:淘宝店家论坛 编辑:程序博客网 时间:2024/06/06 07:33

学习朱老师的嵌入式教程笔记
ARM的汇编特点
ARM采用LDR/STR架构
arm采用risc架构,cpu不能直接读取内存,所以需要将内存内容加载到寄存器。
ldr 指令将内存内容加载入通用寄存器
str 指令将寄存器内容存储到内存
特点2 8种寻址方式
寄存器寻址 mov r1 ,r2
立即寻址 mov r0, #0xFF00 加#表示这是一个数字
寄存器移位寻址 mov r0, r1, lsl #3 将r1左移3位赋值给r0
寄存器间接寻址 ldr r1, [r2] 将内存地址为r2值的内存数据给r1
基址变址寻址 ldr r1, [r2, #4]
多寄存器寻址 ldmia r1!, {r2-r7, r12}将以r1为内存的起始地址赋值给r2-r7, r12这7个寄存器
堆栈寻址 stmfd sp!, {r2-r7, lr} 将栈内存里连续访问数据赋值给r2-r7, lr寄存器
相对寻址 beq flag 跳转到 flag执行
flag:
特点3 指令后缀
同一指令经常带有不同后缀,变成不同指令
常用的后缀;
B(byte)功能不变,操作长度变为8位
H(half word)功能不变,长度变为16位
S(signed)功能不变,操作数变为有符号
如 ldr ldrb ldrh ldrsb ldrsh
S(S标志)功能不变,影响CPSR标志位
如 mov和movs movs r0, #0
特点4 条件执行后缀
这里写图片描述
moveq r0,r1 如果后缀成立,则执行,否则不执行
特点5 多级指令流水线
ARM使用多级流水线,因为ARM是并行处理的,210采用13级流水线
以下是3级流水线示意图
这里写图片描述

0 0
原创粉丝点击