当一个汇编语言中断程序,运行到什么时候,才能跳转到中断呢?例子如下

ORG 00H
AJMP MAIN
;2位共阳管 12MHZ晶振

ORG 0BH
AJMP T0INT
ORG 30H

MAIN:
SETB EA
SETB ET0
SETB TR0
MOV TMOD,#01H
MOV TH0,#3CH ;50MS中断一次
MOV TL0,#0B0H
MOV R2,#40

MAIN1:
MOV R0,#0F9H ;1的段码
MOV R1,#0A4H ;2的段码

MAIN2:
MOV P0,R0
SETB P2.0
ACALL D1MS
CLR P2.0
MOV P0,R1
SETB P2.1
ACALL D1MS
CLR P2.1
JNB F0,MAIN1 ;F0为0,显示1、2
MOV R0,#0B0H ;3的段码
MOV R1,#99H ;4的段码
AJMP MAIN2

T0INT:
MOV TH0,#3CH
MOV TL0,#0B0H
DJNZ R2,RTI
MOV R2,#40 ;40次计2S
CPL F0 ;2S求反一次F0
RTI:
RETI

D1MS:
MOV R3,#2
MOV R4,#250
DJNZ R4,$
DJNZ R3,$-4
RET

END对我有帮助
0

嘿嘿。
这是定时器T0中断,那么就是定时器T0开始不断加1,到TH0TL0为FFFF时,中断产生。
如果是外部中断,比如INT0脚 接一按键另一端搂地 ,按键 按下时,外中断产生。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-01-15
当寄存器里面的数加到全部为零 有一个进位触发中断
第2个回答  2011-01-15
当TH0TL0中数值为FFFFH时定时计数器溢出产生中断,程序跳转到定时计数器T0入口地址(也就是0BH)处开始执行,下一个指令就跳转到中断服务程序
相似回答