不要笑我

[复制链接]
2674|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之类的有意义的名称,一看到这个名称就知道是保存什么数据的,方便写程序。

使用特权

评论回复
虞发海|  楼主 | 2007-11-21 15:50 | 显示全部楼层

高手说说

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

使用特权

评论回复
warm_ice| | 2007-11-21 15:55 | 显示全部楼层

这样

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

使用特权

评论回复
虞发海|  楼主 | 2007-11-21 16:31 | 显示全部楼层

高手是这样吗

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

使用特权

评论回复
warm_ice| | 2007-11-21 16:35 | 显示全部楼层

是的

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

使用特权

评论回复
虞发海|  楼主 | 2007-11-22 07:54 | 显示全部楼层

谢谢高手

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

使用特权

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

本版积分规则

5

主题

38

帖子

0

粉丝