C中:
unsigned char xdata ts,tc1;
汇编里:
extrn xdata(ts,tc1)
。。。
push acc
mov dptr,#ts
movx a,@dptr
mov r1,a
pop acc
。。。
我作过实验,将C中定义的变量在按上述方法在汇编中读一下,
然后返回C,然后通过串口发送出来,结果什么数也没有,且有时
就死机,感觉好象是参数越界之类的问题。
你的返回值不能不放在R1,正确应该是放在R7。
这个问题应该很简单啊,可我搞了一两天了还是没搞定。
我在主程序(C语言)中给TS、TC1赋值后通过串口发送
出来,一切正常,但用上述方法一读后再发送,就什么也没了。
在汇编程序中加了一些串口发送指令想把中间结果发送出来,
结果也是什么也没有,真是见鬼,郁闷极了。不知是不是还有
什么“机关”?
小弟搞单片
再顶一下。还是没搞定。
小弟搞单片机、C51也有点时间了,自以为早非菜鸟了,看来真是
“学然后知不足”啊。郁闷ing。