导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→关于C51排序问题,进来帮忙看看这样有没问题?谢谢

* 92480: 关于C51排序问题,进来帮忙看看这样有没问题?谢谢

   ttneil 
ttneil发表的帖子 

 关于C51排序问题,进来帮忙看看这样有没问题?谢谢
题目:用8051 Keil C 写出排序程序,原资料摆在IDATA 80h~8ah,排序后摆在DATA 40h~4ah。

我的解答:
#define num 11
#include  <reg51.h>  
#include"stdio.h"
main()
{
char idata *org=0x80;
char data *result=0x40,temp;
unsigned char i=0,j=0,k=0;
for(i=0;i  <num;i++)
 *(result+i)=*(org+i);
for(i=0;i  <num-1;i++)
{//选择排序
  k=i;
  for(j=i+1;j  <num;j++)//选择i+1到num的最小值
   if(*(result+j)  <*(result+k))
    k=j;
   if(k!=i)//如果i不是最小则交换
    {temp=*(result+i);
     *(result+i)=*(result+k);
     *(result+k)=temp;}
}
}

编译没问题,但debug时候run说:
*** error 65: access violation at I:0x80 : no 'read' permission

是什么原因呢?我学C51没多久,请指教,谢谢!

发表时间:2006年5月4日12:22:40

  
回复该帖

本主题共有 4 帖,分页:>>>>>该主题的所有内容[4]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

  92481.[详细]这里有问题
摘要:运行:  *(result+i)=*(org+i); 时候就说那些内存不能读,为什么?......(64字)
- [ttneil][793次] 2006年5月4日

  93799.[详细]可以编译过去了!!!
摘要:我将你的程序原装不动的试了一下,可以过去的,用的版本是  KEIL 7.06  你再查一下吧!......(84字)
- [csjclh][878次] 2006年5月31日

  93824.[详细]你的器件是选的51吧.
摘要:char idata *org=0x80; 这个org需要存取idata空间80H,在51中只有128个字节,所以存取失败. 选择52的器件编译就可以了.  更正一下: ......(280字)
- [lenglianxi][1128次] 2006年5月31日

[上一篇帖子]:这里有问题运行:  *(result+i)=*(org+i); 时候就说那
[下一篇帖子]:青高手高手高高手帮忙!大家好!小弟初学单片机遇到了点问题!下面这些PCB电路图,我想把它转化为原理图