打印
[LPC]

用MDK调试lpc3250程序 简单数组复制遇到的奇怪状况

[复制链接]
1935|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sept80|  楼主 | 2013-10-8 16:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 sept80 于 2013-10-8 16:07 编辑

数组定义
UNS_8 s[32] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32};        
UNS_8 d[32] = {0};

数组复制程序
void copyArray(UNS_8* pA,UNS_8 * pB, UNS_32 num)
{
         while(num > 0)
         {
                 *pB = *pA;
                 pB++;
                 pA++;
                 num--;
   }
}

调用
copyArray(s,d,32);

反汇编代码
   650: void copyArray(UNS_8* pA,UNS_8 * pB, UNS_32 num)
   651: {
0x80004B74  E12FFF1E  BX        R14
   652:         while(num > 0)
   653:         {
0x80004B78  EA000004  B         0x80004B90
   654:                 *pB = *pA;
0x80004B7C  E5D03000  LDRB      R3,[R0]
0x80004B80  E5C13000  STRB      R3,[R1]
   655:                 pB++;
0x80004B84  E2811001  ADD       R1,R1,#0x00000001
   656:                 pA++;
0x80004B88  E2800001  ADD       R0,R0,#0x00000001
   657:                 num--;
   658:   }
0x80004B8C  E2422001  SUB       R2,R2,#0x00000001
0x80004B90  E3520000  CMP       R2,#output(0x00000000)
0x80004B94  1AFFFFF8  BNE       0x80004B7C
   659: }


结果
d[32] = {0x01,0x02,0x02,0x04,0x03,0x06,0x04,0x08,0x05,0x0A,0x06,0x0C,0x07,0x0E,0x08,0x10,0x09,0x12,0x0A,0x14,0x0B,0x16,0x0C,0x18,0x0D,0x1A,0x0E,0x1C,0x0F,0x1E,0x10,0x20};











相关帖子

沙发
sept80|  楼主 | 2013-10-8 16:06 | 只看该作者
没权限发图片 只能用文字版了

使用特权

评论回复
板凳
sept80|  楼主 | 2013-10-9 14:36 | 只看该作者
:'(

使用特权

评论回复
地板
ayb_ice| | 2013-10-11 11:54 | 只看该作者
反汇编正常啊

使用特权

评论回复
5
sept80|  楼主 | 2013-10-12 13:55 | 只看该作者
ayb_ice 发表于 2013-10-11 11:54
反汇编正常啊

是啊 反汇编和跟踪都正常 就结果不对

使用特权

评论回复
6
ayb_ice| | 2013-10-12 14:29 | 只看该作者
volatile UNS_8 s;
volatile UNS_8 d;

试试

使用特权

评论回复
7
huangxz| | 2013-10-14 22:28 | 只看该作者
这个.....为啥不用memcpy?

使用特权

评论回复
8
sept80|  楼主 | 2013-12-2 09:42 | 只看该作者
ayb_ice 发表于 2013-10-12 14:29
volatile UNS_8 s;
volatile UNS_8 d;

试了 各种方法都试了 最后发现是mdk的事 3.8没事 4.0以上全有这毛病

使用特权

评论回复
9
sept80|  楼主 | 2013-12-2 09:42 | 只看该作者
huangxz 发表于 2013-10-14 22:28
这个.....为啥不用memcpy?

试过 现象依旧 嘿嘿

使用特权

评论回复
10
ayb_ice| | 2013-12-2 09:58 | 只看该作者
为什么总有人怀疑编译器呢,我用咋就没有问题呢,一样的代码

有图有真相

未命名.PNG (61.67 KB )

未命名.PNG

未命名1.PNG (16.28 KB )

未命名1.PNG

使用特权

评论回复
11
ayb_ice| | 2013-12-2 10:00 | 只看该作者
版本

未命名.PNG (47.9 KB )

未命名.PNG

使用特权

评论回复
12
huangxz| | 2013-12-2 10:49 | 只看该作者
是啊,我也从来没有问题

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

30

帖子

0

粉丝