打印

不要笑我

[复制链接]
2231|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
虞发海|  楼主 | 2007-11-21 14:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问 各位高手
在程序开始时 给一些变量呀 专用寄存器 附上地址单元码
比如  PCL   EQU    02H
能给我说一下 为什么吗?????
沙发
HWM| | 2007-11-21 14:15 | 只看该作者

为了方便,这样不算笑你吧。

使用特权

评论回复
板凳
虞发海|  楼主 | 2007-11-21 14:33 | 只看该作者

是这样吗 ?

为了方便? 是不是  给指令执行的时候  可以很方便的找 预先存在那个单元的数  要是没有单元地址  在执行指令的时候  没有办法找到要执行的数

使用特权

评论回复
地板
warm_ice| | 2007-11-21 15:29 | 只看该作者

这样

主要是为了方便**,如果不定义这些,在对寄存器的操作的时候就只能用2AH,30H,02H等这样的地址,这样的话,对于这些地址的代表的意义就不清楚了,很容易搞错,假设定义为TEMP,ACC_BACK之类的有意义的名称,一看到这个名称就知道是保存什么数据的,方便写程序。

使用特权

评论回复
5
虞发海|  楼主 | 2007-11-21 15:50 | 只看该作者

高手说说

PIC系统说了两个特殊地址0000H  0004H  说复位后 主程序 就从0000H开始 
那么PC执行到第4个单元的话 那不就自动到 中断程序去了

使用特权

评论回复
6
warm_ice| | 2007-11-21 15:55 | 只看该作者

这样

一般前几个地址都是做为中断入口地址用的,程序从0000H开始执行,所以0000H地址的指令一般为跳转指令,避开中断入口这段地址。中断入口地址的指令也通常为跳转指令,跳转到中断服务程序中。

使用特权

评论回复
7
虞发海|  楼主 | 2007-11-21 16:31 | 只看该作者

高手是这样吗

PIC系统规定0004是中断服务子程序的入口地址 
当有中断申请时 当前PC的地址就改变了
就是从0004开始 逐渐加1的执行
也就是中断服务的子程序 的PC 就是从0004  开始记的 

使用特权

评论回复
8
warm_ice| | 2007-11-21 16:35 | 只看该作者

是的

0004只是中断的入口,中断产生后先执行0004H处的指令,通常我们用跳转指令,跳到中断服务程序中。

使用特权

评论回复
9
虞发海|  楼主 | 2007-11-22 07:54 | 只看该作者

谢谢高手

明白了  在0004H后面放个 跳转指令 就可以到 中断服务程序里去了 嘿嘿 
谢谢高手 

使用特权

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

本版积分规则

5

主题

38

帖子

0

粉丝