因特殊情况需要,想编写一段不需要变量的数据拷贝程序,想了半天没想出来, 正常情况下该程序类似这个: for(i=0;i<30;i++) { dest_data=source_data; }
如果此段程序不允许加变量i(特殊情况下),请大侠帮忙写一段,C语言和汇编语言的都行(好象看起来C语言是不行了吧,汇编指令用51的就行了) 谢谢!!
谢谢大家,一时着急没说太清楚,
情况是这样的,此段程序不需要目的地址和源地址之外的变量(防止占用堆栈,比如i),但是又必须要有个控制循环拷贝次数的变量(比如i),
我一开始肯定是用平常人的办法,最笨但也最实用,但是问题是以后可能会扩展到100,200,写几百行太占ROM空间了肯定不行的,
computer00的办法似乎可行,但似乎还要用个指针变量(来指向数组),因此也是不满足要求的,
看到一个PIC的代码,似乎非常简洁,不知到51汇编或C语言能不能满足这个要求,谢谢大家了:
附PIC代码: repeat #29 mov [W0++],[W1++]
dsPIC30汇编,总共移动30个字,W0指向源地址,W1指向目的地址,必须是字对齐,要想移 动30个字节,改为: repeat #29 mov.b [W0++],[W1++]
|