打印

很是苦恼???、

[复制链接]
1474|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wang1987|  楼主 | 2009-3-29 11:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  最近我在做单片机串口仿真设计,遇到一个怪事,当我的程序从000H开始执行时,是正确的,接受机接受到的数据也正确,当我把ORG 0000H 改为ORG 0100H时,程序就有误,接收机接到的数据出现错误,我也特地的把输入和输出对比了一下,比如我发送0001 000B时,接收到的时1000 1000,
发送0010 0000时,接收到的是1001 0000,
发送0100 0000时,接收到的时1010 0000,
发送1000 0000时,接收到的是1100 0000,
等等,最高位总是1,而低位的1右移了,一位,很时纳闷,难道程序的执行对错还和它存放的位置右关吗?不能理解,我的程序没开中断,一直时顺序执行的,调用的子程序放在主程序的后面,
不明白,希望大家指点一下,谢谢了

相关帖子

沙发
computer00| | 2009-3-29 12:03 | 只看该作者

程序必须要从0开始

使用特权

评论回复
板凳
mohanwei| | 2009-3-29 14:56 | 只看该作者

在0000H跳转到0100H就可以了

ORG 0000H
JMP MAIN


ORG 0100H
MAIN:
    ……

当年一开始学单片机的时候,程序开头都跟上面一样。
怀念伟福汇编器……

使用特权

评论回复
地板
wang1987|  楼主 | 2009-3-30 12:17 | 只看该作者

谢谢大家

谢谢大家了,原来如此,我学的还是不扎实啊!

使用特权

评论回复
5
songbangyan| | 2009-3-30 12:49 | 只看该作者

汇编和C语言的差别

使用特权

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

本版积分规则

17

主题

87

帖子

0

粉丝