# 编程指南 工程师●最爱

/*************************************************************************************************************

所有的程序中都有BUG

越完善的程序,BUG隐藏得越深

*************************************************************************************************************/

# if判断语句

将判断语句“if((temp & 0x10)==0x10)”改为“if(temp & 0x10)”,可节省约10字节ROM空间。

# 变量及数组定义

# 将变量定义在指定地址

两种方式均支持

   __at 0x10 long Temp0;
   long __at 0x14 Temp1;

# RAM区与ROM区数组定义

注:MC30xx系列除部分可以选择兼容菲林模式的型号外,其它均不支持通过变量读取ROM区数组元素的值。

# 查看数组相应元素的值

IDE不能直接通过观察窗查看数组各元素的值。

可以通过lst文件,查看相应元素地址,然后通过RAM区查看相应元素的值。

image.png

image.png

# C语言-嵌汇编

u8 SuperDbug;
void datacan(void)
{
     __asm
     movai   2
     XORRA   _SuperDbug
     jbclr   STATUS,2
     NOP
     NOP
     __endasm;
}

C变量在嵌汇编程序中,前面需添加下划线。纯汇编环境不需要。

#