最近着手做DCT arm汇编的优化。需要将arm汇编快速的掌握。
汇编的重要性:(ARM:Assembly Language Programming》,作者是Peter Knaggs & Stephen Welsh.作者提出学习汇编的必要性和重要性)
第一就是教育和培训不是一码事,大学就应该学大学里该教的内容,当然学生也得好好学.
第二是汇编语言是计算机体系结构和计算机软件的基础
第三:汇编可以帮助我们更好的理解数据类型,指针,堆栈、函数调用、递归调用以及参数传递,汇编可以更直接的访问IO和设备,帮助理解设备驱动等等.
任何汇编行都是如下结构:
[<label>:] [<instruction or directive>} @ comment
[<标签>:] [<指令>} @ 注释
[<标签>:] [<指令>} @ 注释
GNU ARM 汇编中,任何以冒号结尾的都被认为是一个标签,而不一定非要在一行的开始。下面是一个简单的例子,这段汇编程序定义了一个"add"的函数,该函数返回两个参数的和:
.section .text, “x”
.global add @ give the symbol add external linkage
add:
ADD r0, r0, r1 @ add input arguments
MOV pc, lr @ return from subroutine
@ end of program
.global add @ give the symbol add external linkage
add:
ADD r0, r0, r1 @ add input arguments
MOV pc, lr @ return from subroutine
@ end of program