汇编结构伪指令用于建立汇编程序的结构框架,常用的伪指令包括以下几条。上述常用属性中,ALIGN实际也是一个伪指令。例如:2.状态切换伪指令CODE16、CODE32格式:CODE16功能:CODE16伪指令通知编译器,其后的指令序列为16位Thumb指令。CODE32伪指令通知编译器,其后的指令序列为32位ARM指令。例如:4.程序结束伪指令END格式:END功能:END伪指令用于通知编译器已经到了源程序的结尾。......
2023-11-21
汇编控制(Assembly Control)伪指令用于控制汇编程序的执行流程,常用汇编控制伪指令包括IF、ELSE、ENDIF、WHILE、WEND、MACRO、MEND、MEXIT。
1.条件控制伪指令IF、ELSE、ENDIF
格式:
功能:该组伪指令能根据条件的成立与否决定是否执行某个指令序列。当IF后面的逻辑表达式为真时,执行指令序列1,否则执行指令序列2。其中,ELSE及指令序列2可以没有。此时,当IF后面的逻辑表达式为真时,执行指令序列1,否则继续执行后面的指令。
注意:IF、ELSE、ENDIF伪指令可以嵌套使用。
例如:
2.循环控制伪指令WHILE、WEND
格式:
功能:该组伪指令能根据条件的成立与否决定是否循环执行某个指令序列。当WHILE后面的逻辑表达式为真时,执行指令序列,该指令序列执行完毕后,再判断逻辑表达式的值,若为真则继续执行,一直到逻辑表达式的值为假。
注意:WHILE、WEND伪指令可以嵌套使用。
例如:(www.chuimin.cn)
3.宏定义伪指令MACRO、MEND
格式:
功能:MACRO、MEND伪指令可以将一段代码定义为一个整体称为宏指令,之后就可以在程序中通过宏指令多次调用该段代码。
注意:在宏指令被展开时,“$”标号会被替换为用户定义的符号。宏指令可以使用一个或多个参数,当宏指令被展开时,这些参数被相应的值替换。
宏指令的使用方式和功能与子程序相似,子程序可以提供模块化的程序设计、节省存储空间并提高运行速度。但是在使用子程序结构时需要保护现场,从而增加了系统的开销,因此,在代码较短且需要传递的参数较多时,可以使用宏指令代替子程序。
包含在MACRO和MEND之间的指令序列称为宏定义体。在宏定义体的第1行应声明宏的原型(包含宏名、所需的参数),此后就可以在汇编程序中通过宏名来调用该指令序列。在源程序被编译时,汇编器将宏调用展开,用宏定义中的指令序列代替程序中的宏调用,并将实际参数的值传递给宏定义中的形式参数。MACRO、MEND伪指令可以嵌套使用。
4.宏退出伪指令MEXIT
格式:MEXIT
功能:MEXIT用于从宏定义中跳转出去。
有关嵌入式系统原理及应用:基于ARM Cortex-M4体系结构的文章
汇编结构伪指令用于建立汇编程序的结构框架,常用的伪指令包括以下几条。上述常用属性中,ALIGN实际也是一个伪指令。例如:2.状态切换伪指令CODE16、CODE32格式:CODE16功能:CODE16伪指令通知编译器,其后的指令序列为16位Thumb指令。CODE32伪指令通知编译器,其后的指令序列为32位ARM指令。例如:4.程序结束伪指令END格式:END功能:END伪指令用于通知编译器已经到了源程序的结尾。......
2023-11-21
数据定义伪指令用来为数据分配存储单元,建立变量和存储单元之间的联系,并可实现已分配存储单元的初始化。每个双精度浮点数占据两个字单元。例如:9.数据域定义伪指令FIELD格式:标号FIELD表达式功能:FIELD伪指令用于定义一个结构化内存表中的数据域。MAP伪指令定义内存表的首地址,FIELD伪指令定义内存表中的各个数据域,并可以为每个数据域指定一个标号供其他指令引用。......
2023-11-21
STM32F4处理器的DAC模块是12位数字输入,属于电压输出类型。DAC可以配置为8位或12位模式,也可以与DMA控制器配合使用。DAC工作在12位模式时,数据可以设置成左对齐或右对齐。DAC可以通过引脚输入参考电压Vref+以获得更精确的转换结果。STM32F4处理器的DAC模块主要特点如下:2个DAC转换器:每个转换器对应1个输出通道。双DAC通道同时或分别转换。每个通道都有DMA功能。单DAC通道有以下3种情况。12位数据左对齐:用户将数据写入DAC_DHR12Lx[15:4]位。......
2023-11-21
Cortex-A8处理器有40个32位寄存器,分为33个通用寄存器和7个程序状态寄存器。表2.4ARM状态下Cortex-A8寄存器组②R13是堆栈指针寄存器,用于指向堆栈区的栈顶。表2.5程序状态寄存器位格式条件代码标志位N、Z、C和V位都是条件代码标志。......
2023-11-19
ARM微处理器已经遍及工业控制、消费类电子通信系统、网络系统、无线系统各类产品市场,基于ARM技术的微处理器应用占据了32位RISC微处理器80%以上的市场份额。ARM嵌入式技术在联网方面的优势,为弧焊电源实现网络化控制奠定了基础。ARM9可以达到180~200MHz的工作速率,它能驱动的周边装置比ARM7多,应用范围也比较广。ATMEL公司的AT91AM9200是基于ARM9的,具有丰富的接口功能。ARM芯片通信接口能力强,一般用于焊接过程及设备人机界面系统的核心芯片。......
2023-06-26
DAC模拟输出的配置过程需要使用STM32的库函数,函数定义在文件stm32f4××_dac.c和头文件stm32f4××_dac.h中。该函数中使用了参数设置结构体类型DAC_InitTypeDef,其定义如下:实例代码如下:4.使能DAC转换通道初始化DAC之后,就要使能DAC转换通道了,使用库函数的方法如下:5.设置DAC的输出值通过上述设置步骤,DAC就能开始工作了。第2个参数就是DAC的输入值了,初始化设置为0。......
2023-11-21
将现场总线控制技术应用于焊接自动化设备中是大势所趋。图5-4-24 基于现场总线的焊接工作站的控制系统2.现场总线控制的特点和优势数字化通信方面 基于FCS现场总线的控制系统是数字化车间的基础,作为子系统可以方便地接入车间监控或管理网络,进行数据通信和交换,便于管理和监控。现场总线最高通信速率为10Mbps,最长距离可达1200m,完全能够满足系统的通信要求。......
2023-06-26
Keil MDK软件源自德国的KEIL公司,是RealView MDK的简称。MDK5.10版本使用μVision5集成开发环境,是针对ARM处理器,尤其是Cortex M内核处理器的最佳开发工具。Keil MDK软件的功能特点如下:完美支持Cortex-M、Cortex-R4、ARM7和ARM9系列器件。大量的项目例程帮助用户快速熟悉MDK-ARM强大的内置特征。符合Cortex微控制器软件接口标准。ARM公司负责的是芯片内核的架构设计,而芯片生产公司根据ARM公司提供的芯片内核标准设计自己的芯片。......
2023-11-21
相关推荐