                        .module RTIDEMO.c
                        .area text
 0000           _main::
 0000           ; #include <stdio.h>
 0000           ; #include <hc11.h>
 0000           ; 
 0000           ; void RTI_VT (void);
 0000           ; void RTIINTR (void);
 0000           ; 
 0000           ; void main (void)
 0000           ; {
 0000           ;  	 setbaud(BAUD9600);
 0000 CC0030            ldd #48
 0003 BD0000            jsr _setbaud
 0006           ;        
 0006           ;        RTI_VT();
 0006 BD000C            jsr _RTI_VT
 0009           L4:
 0009           L5:
 0009           ; 	 while (1){
 0009 20FE              bra L4
 000B           X0:
 000B           ; 	 	   
 000B           ; 		   }
 000B           ; }
 000B           L3:
 000B                   .dbline 0 ; func end
 000B 39                rts
 000C           _RTI_VT::
 000C           ; 
 000C           ; 
 000C           ; 	 
 000C           ; void RTI_VT (void)
 000C           ; {
 000C           ;  	 INTR_OFF();
 000C 0F                                sei
 000D           
 000D           ;        asm("  ldaa #$7e");
 000D 867E                              ldaa #$7e
 000F           
 000F           ;        asm("  staa $eb");
 000F 97EB                              staa $eb
 0011           
 0011           ;        asm("  ldd #_RTIINTR");
 0011 CC001E                            ldd #_RTIINTR
 0014           
 0014           ;        asm("  std $ec");
 0014 DDEC                              std $ec
 0016           
 0016           ;        INTR_ON();
 0016 0E                                cli
 0017           
 0017           ;        TMSK2=0x40;
 0017 C640              ldab #64
 0019 F71024            stab 0x1024
 001C           ;        asm("  rti");
 001C 3B                                rti
 001D           
 001D           ; }
 001D           L7:
 001D                   .dbline 0 ; func end
 001D 39                rts
 001E           ;  IX -> 0,x
 001E           ;        cnttime -> +2,x
 001E           ;        cntflag -> +4,x
 001E           _RTIINTR::
 001E BD0000            jsr __enterb
 0021 06                .byte 0x6
 0022           ; 
 0022           ; 
 0022           ; void RTIINTR (void)
 0022           ; {     int cntflag,cnttime;
 0022           ;       TFLG2=0x40;
 0022 C640              ldab #64
 0024 F71025            stab 0x1025
 0027           ;       PACTL=PACTL|0x03;
 0027 18CE1026          ldy #0x1026
 002B 181C0003          bset 0,y,#3
 002F           ;       cntflag++;
 002F EC04              ldd 4,x
 0031 C30001            addd #1
 0034 ED04              std 4,x
 0036           ;                  if (cntflag == 157){
 0036 EC04              ldd 4,x
 0038 1A83009D          cpd #157
 003C 2618              bne L9
 003E           ;                  printf("%d\n",cntflag);
 003E EC04              ldd 4,x
 0040 37                pshb
 0041 36                psha
 0042 CC0077            ldd #L11
 0045 BD0000            jsr _printf
 0048 1838              puly
 004A           ;                  cnttime++;
 004A EC02              ldd 2,x
 004C C30001            addd #1
 004F ED02              std 2,x
 0051           ;                  cntflag=0;
 0051 CC0000            ldd #0
 0054 ED04              std 4,x
 0056           ;                  }
 0056           L9:
 0056           ; 		   if (cnttime == 7){
 0056 EC02              ldd 2,x
 0058 1A830007          cpd #7
 005C 2611              bne L12
 005E           ;                  printf("%d\n",cnttime);
 005E EC02              ldd 2,x
 0060 37                pshb
 0061 36                psha
 0062 CC0077            ldd #L11
 0065 BD0000            jsr _printf
 0068 1838              puly
 006A           ;                  cnttime=0;
 006A CC0000            ldd #0
 006D ED02              std 2,x
 006F           ;                  }
 006F           L12:
 006F           ; } 
 006F           L8:
 006F 8F                xgdx
 0070 C30006            addd #6
 0073 8F                xgdx
 0074 35                txs
 0075 38                pulx
 0076                   .dbline 0 ; func end
 0076 39                rts
 0077           L11:
 0077 25640A00          .byte 37,'d,10,0
