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

[复制链接]
2231|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 | 显示全部楼层
反汇编正常啊
 楼主| sept80 发表于 2013-10-12 13:55 | 显示全部楼层
ayb_ice 发表于 2013-10-11 11:54
反汇编正常啊

是啊 反汇编和跟踪都正常 就结果不对
ayb_ice 发表于 2013-10-12 14:29 | 显示全部楼层
volatile UNS_8 s;
volatile UNS_8 d;

试试
huangxz 发表于 2013-10-14 22:28 | 显示全部楼层
这个.....为啥不用memcpy?
 楼主| 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以上全有这毛病
 楼主| sept80 发表于 2013-12-2 09:42 | 显示全部楼层
huangxz 发表于 2013-10-14 22:28
这个.....为啥不用memcpy?

试过 现象依旧 嘿嘿
ayb_ice 发表于 2013-12-2 09:58 | 显示全部楼层
为什么总有人怀疑编译器呢,我用咋就没有问题呢,一样的代码

有图有真相

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
ayb_ice 发表于 2013-12-2 10:00 | 显示全部楼层
版本

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
huangxz 发表于 2013-12-2 10:49 | 显示全部楼层
是啊,我也从来没有问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

30

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部