_interrupt_service.a51

来自「使用PROTEUS仿真的推箱子游戏,全汇编格式,通过按钮操作,1602显示」· A51 代码 · 共 61 行

A51
61
字号
;===========================================================
;                 interrupt service subroutines
;===========================================================
TIMER0_IR:     	
	PUSH    PSW			;save PSW
	PUSH    ACC			;save ACC
        CLR     EA			;disable all interrupt



TIMER0_IR_EXIT: 
	POP     ACC			;restore ACC
        POP     PSW			;restore PSW
	SETB    EA			;enable all interrupt
        RETI
;============================================================
TIMER1_IR:     	
	PUSH     PSW			;save PSW
	PUSH     ACC			;save ACC
        CLR      EA			;disable all interrupt

	LCALL	 SCAN_KEY
	
TIMER1_IR_EXIT: 
	POP      ACC			;restore ACC
        POP      PSW			;restore PSW
	SETB     EA			;enable all interrupt
        MOV  	TH1,#0F0H
        MOV  	TL1,#060H
        SETB 	EA
        SETB 	ET1
	SETB 	TR1
        RETI
;============================================================
INT0_ISR:
	PUSH     PSW			;save PSW
	PUSH     ACC			;save ACC
        CLR      EA			;disable all interrupt	



INT0_ISR_RTN:
	POP      ACC			;restore ACC
        POP      PSW			;restore PSW
	SETB     EA			;enable all interrupt
        RETI
;============================================================
INT1_ISR:
	PUSH     PSW			;save PSW
	PUSH     ACC			;save ACC
        CLR      EA			;disable all interrupt	



INT1_ISR_RTN:
	POP      ACC			;restore ACC
        POP      PSW			;restore PSW
	SETB     EA			;enable all interrupt
        RETI
;============================================================

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?