第四章 ARM7TDMI汇编语言程序设计
-
计算机编程语言的用途 : 描述操作和数据
-
数据 --- 用于描述问题模型
-
操作 --- 用于描述问题处理方法和步骤
-
-
汇编语言的基本概念
-
低级语言
-
机器语言 --- 是由0和1二进制代码表示和存储的指令和数据
-
汇编语言 --- 一种面向物理层操作的计算机语言 使用助记符害表示指令的操作码和操作数 用标号或符号 代表地址、常量和变量
-
上机过程
-
设计、编辑汇编语言源程序
-
汇编、连接、下载到目标系统
-
调试运行
-
-
-
-
-
ARM汇编程序的组成与结构
-
标识符(标号)
-
用途 用来表示指令、数据在内存的地址(过程名、变量名),宏名和常量等
-
组成 标号是一个自行设计的字母数字串,通常以字母开头,由字母、数字、下划线等组成
-
标号不能与寄存器名、指令助记符、伪指令(操作)助记符等“关键字”同名
-
标号必须在一行的开头书写,不能留空格。
-
-
-
段
-
主要用于声明代码的空间属性
-
-
汇编器伪指令
-
汇编器伪指令是供汇编器处理的命令,在汇编过程中由汇编器进行处理。
-
汇编以后,汇编器伪指令不产生目标CPU执行的与之对应的目标代码。
-
伪指令 AREA
-
用途 段声明
-
格式 AREA <段名>,<段属性>,<读写属性>
-
段名 用户定义标识符
-
段属性 CODE/DATA
-
读写属性 READONLY/READWRITE
-
-
-
伪指令 CODE16/CODE32
-
用途 声明代码为Thumb还是ARM
-
格式 CODE16/CODE32
-
-
伪指令 ENTRY
-
用途 声明程序的入口,编译程序会把这个入口的地址定义为系统复位后程序的起点(类似于main函数)
-
格式 ENTRY
-
-
伪指令 END
-
用途 声明汇编源程序的结束(末行)
-
格式 END
-
-
伪指令 EQU
-
用途 声明符号变量(类似于#define)
-
格式 <标号> EQU "字符串"
-
-
伪指令 DCD
-
用途 在程序存储区预存字数据(4B)
-
格式 <标号> DCD <字数据列表>
-
-
伪指令 SPACE
-
用途 在存储区预留初值为0x00的空间
-
格式 <标号> SPACE <字节个数>
-
-
-
-
-
汇编语言程序设计的基本方法
-
数据描述 --- 描述问题模型 -> 两次抽象
-
物理问题 -> 数学抽象模型 -> 计算机存储模型
-
-
算法描述 --- 描述问题处理方法
-
基于计算机存储模型描述数据处理策略与规则
-
-
汇编语言程序设计的流程
-
分析问题,建立数学模型
-
确定数据存储格式(数据结构)
-
设计算法和程序流程图
-
合理分配寄存器(存储空间和外设资源)
-
编制程序
-
调试程序
-
形成文档
-
-