把我的某段副程序搬到RAM中,然后到RAM去执行这个副程序,执行结束后再回到原来的ROM继续做下面的程序.
- 回答:
可以这么做。
编译时出现以下错误:
*** E4366L: Not found locatable address (STACK)
- 回答:
查一下自己定义的变量空间+堆栈空间是不是已经超出了单片机的ram空间了。
1.START.ASM是否必须有?文件名是不是固定就用这个?
2.要建立一个工程必须包含有哪几个文件?
- 回答:
1.不是固定的,用什么都可以,不过一般建议用这个。
2.一般是start.asm文件,vector.c,关于寄存器的头文件,和main.c文件。
Fujitsu MCU 的C语言有位操作指令吗?
- 回答:
没有,因为并不是所有的ram可以以位的方式进行操作的。
富士通单片机的所有功能寄存器基本可以位操作,但是需要你在定义的时候按照位的方式进行定义。 模式可以参考我们的样例中的用法。
这时 “A.bit.B = 1” 就等同于“SETB A.B”
在用汇编的时候要如何使用 C 中定义的变量?
- 回答:
在变量前加下划线。
以下语句编译错误:
.section IOBASE,IO,locate=0x0000 会出现out of section的错误。
- 回答:
.section 这个指令不能顶格写.要在前面加一个空格或TAB
请教c和汇编交叉编程怎么处理
- 回答:
两种方法在c语言中嵌入汇编:
(1) __asm(" 字符串序列"); 例如: __asm(" MOVN A,#1"); /*第一个双引号右边有一个空格*/
(2) #pragram asm
汇编语句
#pragram endasm
例如:
#pragram asm
MOVN A,#1
MOVW _temp,A
#pragram endasm
转自:http://www.fujitsu.com/cn/fss/mcu/faq/mb95200_coding.html