第4课 ARM指令.ppt

第4课 ARM指令

ARM指令长度概述 ARM指令长度 指令集可以是以下任一种 32 bits 长 (ARM状态) 16 bits 长 (Thumb 状态) ARM7TDMI 支持3种数据类型 字节 (8-bit) 半字 (16-bit) 字 (32-bit) 字必须被排成4个字节边界对齐,半字必须被排列成2个字节边界对齐 ARM指令长度概述 向后兼容:新版本增加指令,并保持指令向后兼容; Load-store 结构* load/store –从存储器中读某个值,操作完后再将其放回存储器中 只对存放在寄存器的数据进行处理 对于存储器中的数据,只能使用load/store指令进行存取 第4课 ARM7TDMI(-S)指令系统 简介 第4课 ARM7TDMI(-S)指令系统 ARM指令集与Thumb指令集的关系 4.1 ARM处理器寻址方式 寻址方式分类 4.1 ARM处理器寻址方式 寻址方式分类——寄存器寻址 4.1 ARM处理器寻址方式 寻址方式分类——立即寻址 4.1 ARM处理器寻址方式 寻址方式分类——寄存器移位寻址 4.1 ARM处理器寻址方式 寻址方式分类——寄存器间接寻址 4.1 ARM处理器寻址方式 寻址方式分类——基址寻址 4.1 ARM处理器寻址方式 寻址方式分类——基址寻址 4.1 ARM处理器寻址方式 寻址方式分类——多寄存器寻址 4.1 ARM处理器寻址方式 寻址方式分类——堆栈寻址 4.1 ARM处理器寻址方式 寻址方式分类——堆栈寻址 4.1 ARM处理器寻址方式 寻址方式分类——堆栈寻址 4.1 ARM处理器寻址方式 寻址方式分类——堆栈寻址 4.1 ARM处理器寻址方式 寻址方式分类——块拷贝寻址 4.1 ARM处理器寻址方式 寻址方式分类——相对寻址 简单的ARM程序 简单的ARM程序 4.2 指令集介绍 ARM指令集——基本指令格式 4.2 指令集介绍 ARM指令集——第2个操作数 4.2 指令集介绍 ARM指令集——第2个操作数 桶形移位器 4.2 指令集介绍 ARM指令集——第2个操作数 4.2 指令集介绍 ARM指令集——条件码 4.2 指令集介绍 ARM指令集——条件码 4.2 指令集介绍 ARM指令集——存储器访问指令 4.2 指令集介绍 ARM指令集——ARM数据处理指令 4.2 指令集介绍 ARM指令集——乘法指令 4.2 指令集介绍 ARM指令集——分支指令 4.2 指令集介绍 ARM伪指令 ARM汇编程序设计 由于高级编程语言隐藏了CPU执行指令的许多细节,因此在只关心系统所具有功能的系统中,采用高级语言编写程序更为合适。但是,CPU执行指令的细节差异会反应在系统的非功能特性上,例如系统程序的规模和运行速度。因此,掌握汇编语言程序设计对于嵌入式系统的设计者来说是非常必要的。 ARM汇编程序设计 ARM汇编程序中每一行的通用格式为: {标号} {指令|指示符|伪指令} {;注解}。 在ARM汇编语言源程序中,除了标号和注释外,指令、伪指令和指示符都必须有前导空格,而不能顶格书写。如果每一行的代码太长,可以使用字符“\”将其分行书写,并允许有空行。指令助记符、指示符和寄存器名既可以用大写字母,也可以用小写字母,但不能混用。注释从“;”开始,到该行结束为止。 标号代表一个地址,段内标号的地址值在汇编时确定,段外标号的地址值在链接时确定。 ARM汇编程序设计 AREA Word, CODE, READONLY ; name this block of code num EQU 20 ; Set number of words to be copied ENTRY ; mark the first instruction to call start LDR r0, =src ; r0 = pointer to source block LDR r1, =dst ; r1 = pointer to destination block MOV r2, #num ; r2 = number of words to copy wordcopy LDR r3, [r0], #4 ; a word from the source STR r3, [r1], #4 ; store a word to the destination SUBS r2, r2,

文档评论(0)

1亿VIP精品文档

相关文档