|
************************************************ * FileName: ex6.asm * * Description: 硬件中断实验 * * Copyright(C) SanZhi Electronic, Author Zpin * ************************************************
.title "ex6" .global _c_int00 .mmregs
KEY_ADDR .set 0a008h D_LED_ADDR .set 0b000h
KEY_CODE1 .set 60h KEY_CODE2 .set 61h
CONVERT .macro rawdata STM #4000h,AR3 ANDM #001Fh,rawdata LD rawdata,A ADD AR3,A STL A,AR3 nop nop LD *AR3,A STL A,rawdata nop nop nop nop .endm
.data .word 00h,3F06h,0605h,5B04h,4f03h,6602h,6d01h,7d06h,0705h,7f04h,6f03h,07702h,07c01h,3906h,5e05h,07904h,07103h,8002h ;BCD CODE 0 1 2 3 4 5 6 7 8 9 a b c d e f . ;hight 8 bit enable,low 8 bit is address .sect ".vectors" rst: B _c_int00 NOP NOP .space 17*4*16 int2: B _onkey NOP NOP .space 13*4*16
.text _c_int00: LD #0h,DP STM #3000h,SP SSBX INTM ssbx XF STM #07FFFh,SWWSR ST #0000h,KEY_CODE2 STM #0ffffh,IFR ORM #0004h,IMR RSBX INTM
susp: PORTW KEY_CODE2,D_LED_ADDR ;显示到数码管 rpt #0ffffh NOP NOP B susp _onkey: nop rpt #0ffffh nop nop rpt #0ffffh nop nop rpt #0ffffh nop nop rpt #0ffffh nop nop
PORTR KEY_ADDR,KEY_CODE2 ;读取按键 CONVERT KEY_CODE2 ;将按键码转换成显示码 exit rpt #0ffffh nop nop rpt #0ffffh nop nop rpt #0ffffh nop nop STM #0ffffh,IFR RETE
|