学习STM8
STM8 CPU中的寄存器只有6个,即A、X、Y 、SP、 PC 、CC。
完成内存种的2个8位无符号数相加,结果还保存到内存中。
unsigned char a,b,c;
c = a + b;
STM8汇编如下:
LD A,$1000
ADD A,$1001
LD $1002,A
这里假设a,b,c这3个变量分别存储在内存中,地址为1000,1001,1002。
static @inline void jump_to_new_prog(void) 远程升级部分汇编代码
{
_asm("LDW X, SP ");
_asm("LD A, $FF");
_asm("LD XL, A ");
_asm("LDW SP, X ");
_asm("JPF $9000");
}
STM8 CPU中的寄存器只有6个,即A、X、Y 、SP、 PC 、CC。
完成内存种的2个8位无符号数相加,结果还保存到内存中。
unsigned char a,b,c;
c = a + b;
STM8汇编如下:
LD A,$1000
ADD A,$1001
LD $1002,A
这里假设a,b,c这3个变量分别存储在内存中,地址为1000,1001,1002。
static @inline void jump_to_new_prog(void) 远程升级部分汇编代码
{
_asm("LDW X, SP ");
_asm("LD A, $FF");
_asm("LD XL, A ");
_asm("LDW SP, X ");
_asm("JPF $9000");
}