最近我在做单片机串口仿真设计,遇到一个怪事,当我的程序从000H开始执行时,是正确的,接受机接受到的数据也正确,当我把ORG 0000H 改为ORG 0100H时,程序就有误,接收机接到的数据出现错误,我也特地的把输入和输出对比了一下,比如我发送0001 000B时,接收到的时1000 1000, 发送0010 0000时,接收到的是1001 0000, 发送0100 0000时,接收到的时1010 0000, 发送1000 0000时,接收到的是1100 0000, 等等,最高位总是1,而低位的1右移了,一位,很时纳闷,难道程序的执行对错还和它存放的位置右关吗?不能理解,我的程序没开中断,一直时顺序执行的,调用的子程序放在主程序的后面, 不明白,希望大家指点一下,谢谢了 |