ARM处理器内线程汇编指令详解:寄存器列表与函数调用

需积分: 0 20 下载量 94 浏览量 更新于2024-08-10 收藏 4.79MB PDF 举报
本文档详细介绍了富士电机FUJI Alpha 5 Smart Plus用户手册中的寄存器列表和内联汇编编程的相关知识点。在ARM处理器的应用中,寄存器列表是编程的重要组成部分,它可以包含多达16个操作数,包括虚拟寄存器和表达式操作数。操作数的顺序至关重要,从左到右读写,低地址的寄存器首先被访问,后续地址递增4,这是由于内联汇编中的寄存器是由编译器虚拟化的,不同于传统的存储方式。 表达式或虚拟寄存器在列表中可以重复使用,但作为基址寄存器时,其值会根据ARM指令寻址规则进行更新,这可能导致原始值被覆盖。另外,文档强调了中间操作数的概念,即在内联汇编中,C或C++的整型常量表达式可能作为立即数处理,但必须符合ARM指令规定的移位操作数范围和内存对齐标准。 对于函数调用和分支跳转,内联汇编提供了BL和SWI指令,它们允许在指令字段之后指定参数列表、输出值列表以及可能被破坏的寄存器列表。特别需要注意的是,BL、BLX和BXJ指令在内联汇编中不可用,同时lr、sp和pc寄存器不允许出现在输入、输出或被破坏寄存器列表中,且SWI指令和函数调用不能改变sp寄存器。 此外,文章引用了《ARM系列处理器应用技术完全手册》中的内容,讲述了ARM公司的发展历程。ARM公司自1990年成立以来,凭借其专长于设计高性能、低功耗的RISC处理器,逐渐成为嵌入式解决方案的主导者。ARM公司通过转让设计许可的方式,与全球众多半导体公司合作,实现了其商业化策略的成功,使得ARM成为了移动通信、手持计算和多媒体消费等领域的主要技术标准。 总结来说,本文档涵盖了ARM处理器的寄存器管理、内联汇编编程细节,以及ARM公司的背景和发展,对于理解和使用富士电机的FUJI Alpha 5 Smart Plus,以及深入理解ARM架构的程序员来说,都是非常有价值的参考资料。