一乐电子

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

微信扫码登录

搜索
楼主: 老弹弓

[其他综合] 请教,中断程序都要用RETI 返回,以清除中断标志,和出栈, 但我的不需要返回,

  [复制链接]
 楼主| 发表于 2013-1-17 00:22 | 显示全部楼层
是不是成了:
   BACK:    SETB       EA                                  ; 开中断              
    ...
明白 发表于 2013-1-16 23:19 https://www.yleee.com.cn/images/common/back.gif



    RETI  那句还要的。  还指望他清中断标志。
回复

使用道具 举报

 楼主| 发表于 2013-1-17 00:27 | 显示全部楼层
由于中断的产生,使得正在处理的事情,‘半途而废’(因为没有后续)。
这样CPU效率就没有了,
如果楼主一 ...
明白 发表于 2013-1-17 00:22 https://www.yleee.com.cn/images/common/back.gif



    是的,就是因为半途而废了, 干脆废了正在做的事,指定程序从某些地方重新开始做。    cpu 复位也是可以的,不过考虑到从头运行的话可能会初始化很多东西,比如屏幕闪动, 比如带的外部设备重新上电。。。
回复

使用道具 举报

发表于 2013-1-17 02:39 | 显示全部楼层
试一试下面的,只修改中断处理程序:
CAI_DAN:        
;POP  ACC   ;这两句不要了
;POP  ACC   ;这两句不要了  ;----------这两句能平衡中断后的压栈吗?
  原封不动
   ;
   ;
   ;
  原封不动,省略掉
;------------------------------------------------------------------------------------------;
    BACK: MOV  DPTR,#MAIN2    ;指定程序从MAIN2地方重新开始,你想到哪里,就写哪里的地址
               PUSH DPH   ;产生
出栈时候,PC(高8位)矢量
               PUSH DPL   ;产生出栈时候,PC(低8位)矢量
               SETB       EA     ; 开中断
               RETI     ;执行这一条指令之后,程序就会从MAIN2地方重新执行。


我没有实际测试,不知道对不对,你自己试试看
回复

使用道具 举报

发表于 2013-1-17 02:56 | 显示全部楼层
RETI指令不是很熟,也许               
【PUSH DPH       PUSH DPL 】
要前后位置更换一下:
   BACK: MOV  DPTR,#MAIN2    ;指定程序从MAIN2地方重新开始,你想到哪里,就写哪里的地址
               PUSH DPL   ;产生出栈时候,PC(低8位)矢量
               PUSH DPH   ;产生出栈时候,PC(高8位)矢量
               SETB       EA     ; 开中断
               RETI     ;执行这一条指令之后,程序就会从MAIN2地方重新执行。
回复

使用道具 举报

 楼主| 发表于 2013-1-17 15:49 | 显示全部楼层
RETI指令不是很熟,也许               
【PUSH DPH       PUSH DPL 】
要前后位置更换一下:
   BACK: ...
明白 发表于 2013-1-17 02:56 https://www.yleee.com.cn/images/common/back.gif



    谢谢,有空试试
回复

使用道具 举报

发表于 2013-1-17 21:39 | 显示全部楼层
现在问题解决了,加了 一句,就可以解决堆栈的问题,而且可以在中断完成后,跳到任意想去了地方 ,藕叶 :5 ...
老弹弓 发表于 2013-1-16 20:34 https://www.yleee.com.cn/images/common/back.gif




   你这一句是解决这里的问题了,但并不是最好的办法。因为你这个办法可能会给你做大程序埋下隐患的。
如果你写写玩玩而已,那没问题,如果你打算以后还增加其他程序来使用你的显示屏,那么这样就不是解决问题的办法了!
回复

使用道具 举报

 楼主| 发表于 2013-1-17 21:42 | 显示全部楼层
你这一句是解决这里的问题了,但并不是最好的办法。因为你这个办法可能会给你做大程序埋下隐患的 ...
快活丞 发表于 2013-1-17 21:39 https://www.yleee.com.cn/images/common/back.gif



    呵呵 业余玩家,玩玩而已
回复

使用道具 举报

本版积分规则

QQ|一淘宝店|手机版|商店|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2025-8-18 23:12 , Processed in 0.035072 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表