extern __xdata unsigned char *rtos_stack;
;../source/test.c:66: printf_tiny("(%d)SP = '%x'\n\r", i, rtos_stack[i]);
mov a,r2
add a,_rtos_stack
mov dpl,a
clr a
addc a,(_rtos_stack + 1)
mov dph,a
movx a,@dptr
extern __xdata unsigned char rtos_stack[];
;../source/test.c:66: printf_tiny("(%d)SP = '%x'\n\r", i, rtos_stack[i]);
mov a,r2
add a,#_rtos_stack
mov dpl,a
clr a
addc a,#(_rtos_stack >> 8)
mov dph,a
movx a,@dptr
原來的變數為 __xdata unsigned char rtos_stack[3],很明顯的在 SDCC 裏 (char *) 不能等同於 (char []),這點要特別注意。
沒有留言:
張貼留言