STM32学习之路入门篇之指令集及cortex——m3的存储系统
STM32学习之路入门篇之指令集及cortex——m3的存储系统 一、汇编语言基础 一)、汇编语言:基本语法 1、汇编指令最典型的书写模式: 标号 操作码 操作数1, 操作数2,... ;注释 1)、标号是可选的,如果有,它必须顶格写。标号的作用是让汇编器来计算程序转移的地址。 2)、操作码是指令的助记符,它的前面必须有至少一个空白符,通常使用提个Tab键来产生。 3)、操作码后面往往跟若干个操作数,而第一个操作数,通常都给出本指令执行结果的存储地。不同指令需要不同数目的操作数,并且对操作数的语法要求也可以不同。 4)、注释均以;开头,它的有无不影响汇编操作,只是给程序员看的,让程序员更加可以理解代码。 2、可以使用EQU指示子来定义常数,也可以使用DCB来定义一串字节常数——允许以字符串的形式表达,还可以使用DCD来定义一串32位整数。 3、如果汇编器不能识别某些特殊指令的助记符,就需要“手工汇编”,查出该指令的确切二进制机器码,然后使用DCI编译器指示器。 4、不同汇编器的指示字和语法都可以不同。以上以ARM汇编器说明,如使用其他汇编器,细看说明和实例代码。 二)、汇编语言:后缀的使用 1、在ARM处理器中,指令可以带有后缀的: 2、在Cortex-CM3中,对条件后缀的使用有限制,只有转移指令(B指令)才可以随意使用。而对于其他指令,Cortex-CM3引入IF-THEN模块