]> git.sur5r.net Git - cc65/commitdiff
Small fix
authorcuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Sun, 4 Apr 2004 14:29:10 +0000 (14:29 +0000)
committercuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Sun, 4 Apr 2004 14:29:10 +0000 (14:29 +0000)
git-svn-id: svn://svn.cc65.org/cc65/trunk@2971 b7a2c559-68d2-44c3-8de9-860c34a00d81

libsrc/runtime/callirq.s

index 9254d71b8310e9319794dd96d2f47b5f757330f0..e824b62df846c834002b60a79cfddff4f5dbe01c 100644 (file)
 ;      code avoids this by using locking mechanisms, but it's complex and
 ;      has a size and performance penalty.
 ;
-; As the normal condes routine, this one has the limitation of 127 table 
+; As the normal condes routine, this one has the limitation of 127 table
 ; entries.
 ;
 
                .export callirq
+        .export callirq_y       ; Same but with Y preloaded
 
                .import __IRQFUNC_TABLE__, __IRQFUNC_COUNT__
 
 
 .data
 
-.proc  callirq
-
-        ldy     #.lobyte(__IRQFUNC_COUNT__)
-loop:   dey
+callirq:
+        ldy     #.lobyte(__IRQFUNC_COUNT__*2)
+callirq_y:
+        dey
         lda     __IRQFUNC_TABLE__+1,y
         sta     jmpvec+2                ; Modify code below
        dey
@@ -45,9 +46,8 @@ loop:   dey
                sty     index+1                 ; Modify code below
 jmpvec: jsr            $FFFF                   ; Patched at runtime
 index:         ldy     #$FF                    ; Patched at runtime
-               bne     loop
+               bne     callirq_y
         rts
 
-.endproc