1
0
mirror of https://github.com/cc65/cc65.git synced 2024-11-19 06:31:31 +00:00

Fixed a bug

git-svn-id: svn://svn.cc65.org/cc65/trunk@325 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
cuz 2000-09-14 19:16:53 +00:00
parent 5126ae8f4c
commit 2e21552871

View File

@ -4,10 +4,10 @@
; CC65 runtime: switch statement with long selector ; CC65 runtime: switch statement with long selector
; ;
; Subroutine to handle a switch statement with an int selector. The table ; Subroutine to handle a switch statement with an long selector. The table
; is located at the return address from the function. It contains the negative ; is located at the return address from the function. It contains the negative
; of the case label count as first word, followed by three words for each case ; of the case label count as first word, followed by three words for each case
; label, the first two being the value, and the second one the label to jump ; label, the first two being the value, and the last one the label to jump
; to in case of a match. The default case is located at the end of the table. ; to in case of a match. The default case is located at the end of the table.
.export lswitch .export lswitch
@ -31,7 +31,6 @@ lswitch:
lda (ptr2),y lda (ptr2),y
sta ptr3+1 ; Remember the count of labels sta ptr3+1 ; Remember the count of labels
ldy #0
clc ; Skip the label count clc ; Skip the label count
lda ptr2 lda ptr2
adc #2 adc #2
@ -42,7 +41,8 @@ lswitch:
; Search for the label ; Search for the label
L0: lda (ptr2),y L0: ldy #0
lda (ptr2),y
cmp ptr1 cmp ptr1
bne L1 bne L1
iny iny