由于在C语言的环境下,局部变量的寻址必须通过SP寄存器实现,在混合编程的时候,为了使汇编语言不影响堆栈寄存器SP,通常的方式是在汇编环境中使用DP方式寻址,这样可以使二者互不干扰。编程中只要注意对CPL位正确设置即可
1 .word 的意思就相当与C语言里的int,char等定义一个变两的宽度
2. 编译错误原因有2:
a.如果在汇编里面定义.global(全局符号),那么在C语言里面应该用extern声明,以引用该符号。
b.在汇编里面声明的时候,符号前应加下划线,如 FIQ_Addr: .word EXTint_FIQ 应为: FIQ_Addr: .word _EXTint_FIQ 在C语言里面应用extern声明。另外,一中方法是,用.ref 代替.global 来声明符号,这样就不用在C源程序里面用extern声明了。两种方法结果相同。 我讲的是用C和汇编混编程用法,至于C++变量如何翻译成汇编符号可以用,自己去看,原则类似.
以上就是关于汇编语言程序设计的全部内容,相信你一定会非常满意。
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-12773-2.html
这种渣都能当教授
12海里以内是进入领土