导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→关于中断、堆栈的一些问题,请各位大虾不吝赐教!菜鸟在这里先谢

* 74484: 关于中断、堆栈的一些问题,请各位大虾不吝赐教!菜鸟在这里先谢了!(详细见内)

   guest 
guest发表的帖子 

 关于中断、堆栈的一些问题,请各位大虾不吝赐教!菜鸟在这里先谢了!(详细见内)
(01)  ORG 0000H
(02)  AJMP START
(03)  ORG 000BH 
(04)  AJMP TIME0
(05)  ORG 30H
(06)  START:
(07)  MOV P1, #0FFH 
(08)  MOV 30H, #00H 
(09)  MOV TMOD, #00000001B 
(10)  MOV TH0, #3CH 
(11)  MOV TL0, #0B0H 
(12)  SETB EA
(13)  SETB ET0
(14)  SETB TR0
(15)  LOOP: AJMP LOOP
(16)  TIME0: 
(17)  PUSH ACC
(18)  PUSH PSW 
(19)  INC 30H
(20)  MOV A, 30H
(21)  CJNE A, #20,T_RET
(22)  T_L1: CPL P1.0
(30)  MOV 30H, #0
(24)  T_RET:
(25)  MOV TH0, #15H
(26)  MOV TL0, #9FH
(27)  POP PSW
(28)  POP ACC
(29)  RETI
(30)  END

请问:这个程序有没有问题?有堆栈的问题吗??我看的很不顺眼,但是找不到错误的地方,能帮我指出吗??

还有就是,当程序执行时,01→02,跳转到06处标记的地方再执行。这样05处的ORG 30H这句程序不是永远也执行不到吗?不就是没有意义吗?

另一个问题,程序在执行15处LOOP: AJMP LOOP时如果发生中断,则到03处进入中断程序,然后再返回,此时还是返回15处继续执行这个程序吗??

假如加上这句:mov sp,#5fh是不是PUSH、POP都是以5FH为起始地址的??

谢谢了,请不吝赐教!


发表时间:2005年3月9日14:49:47

  
回复该帖

本主题共有 2 帖,分页:>>>>>该主题的所有内容[2]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

  74500.[详细]有!
摘要:1。堆栈地址现为:sp=07h 2.org 30h 是一条伪指令,是用来设定程序或数据存储区的起始地址的! 3。只要没停就来。 4。是的......(117字)
- [edawn][1525次] 2005年3月9日

[上一篇帖子]:单片及抗干扰问题[color=#0000FF][请各位大侠帮帮忙,我最近用87c51设计了一个灯箱控
[下一篇帖子]:[color=#DC143C][face=楷体_GB2312][/face][/color]