全局变量和局部变量从存储角度理解
全局变量具有固定的地址,每次读写都是一个地址,而且它的存储区域从使用到使用结束一直存在
局部变量再RAM 中的地址不固定,采用先进后出的RAM 区域,称为栈区
寄存器分为通用寄存器(R0-R12)和特殊寄存器(R13-R15)
ARM 基本指令系统
数据传送,数据操作,跳转控制。指令格式中的{},表示其中为可选项,如LDRH [Rt,{Rn{,#mm}],表示有:“LDRH Rt,[Rn]”、"LDRH Rt, [Rn, #imm]"两种指令格式,指令中的“【】”表示内容作为地址。
数据传送指令
数据传送指令的功能就是将数据从一个地方复制到另一个地方。有两种情况,一是取存储器地址空间中的数据传送到寄存器中, 二是寄存器中的数据传送到另一个寄存器或者存储器地址空间中。
取指令:
存储器(ram 或者flash )由地址表征,把存储器中的内容LAOD 到cpu内部寄存器中的指令,LD 是load 的缩写
LDR.LDRH,LDRB等命令
存数指令:
将cpu 内部寄存器中的内容存储到存储器中的指令称为存数指令.ST:store 的缩写
STR/STRH,STRB,STM
寄存器之间的数据传送指令
MOV 指令用于CPU内部寄存器之间的数据传送
MOV /MOVS/MVN
栈操作指令:
push regilist入栈,sp-4, reglist(R0-R7)
pop regilist出栈,sp+4,
ADR :是将PC 值加上一个偏移量得到的地址写进目标寄存器中
汇编伪指令:
可执行程序是以段作为单位来组织文件的,通常划分为.text, .data, .bss 段。其中.text 只读代码段是程序存放的地方,一般存储在flash 区域,.data 是可读写数据段
而.bss 是可读写且没有初始化的数据段,启动时会清0,存储在RAM 区域,链接文件中使用
标签:传送,嵌入式,STM32,地址,指令,寄存器,LDRH,数据 From: https://www.cnblogs.com/lzqd/p/18339305