diff --git a/c64/basic/engine/ad9e.frmevl.s b/c64/basic/engine/ad9e.frmevl.s index 1b4e8fc3..e29c85e5 100644 --- a/c64/basic/engine/ad9e.frmevl.s +++ b/c64/basic/engine/ad9e.frmevl.s @@ -206,14 +206,14 @@ FRMEVL_push_operator_address: // XXX add support for other operators, use .Y - lda operator_jumptable_hi - 1, y + lda operator_jumptable_hi, y pha - lda operator_jumptable_lo - 1, y + lda operator_jumptable_lo, y pha // Push operator priority - lda operator_priorities - 1, y + lda operator_priorities, y pha // Continue diff --git a/c64/basic/engine/fetch_operator.s b/c64/basic/engine/fetch_operator.s index 5c55e426..3c87cf45 100644 --- a/c64/basic/engine/fetch_operator.s +++ b/c64/basic/engine/fetch_operator.s @@ -18,19 +18,18 @@ fetch_operator: // XXX change the operator code to start from 0 // Check if within range sec - sbc #$A9 + sbc #$AA bcc fetch_operator_failed // branch if below 0 - beq fetch_operator_failed // branch 0 - cmp #$0B - bcs fetch_operator_failed // branch if $0B or greater + cmp #$0A + bcs fetch_operator_failed // branch if $0A or greater // Now we have to recognize '>=', '<=' and '<>' operators - cmp #$08 + cmp #$07 beq fetch_operator_try_gteq - cmp #$0A + cmp #$09 beq fetch_operator_try_lteq_neq // FALLTROUGH @@ -57,12 +56,12 @@ fetch_operator_try_gteq: // This is a '>' jsr unconsume_character - lda #$08 + lda #$07 bne fetch_operator_success // branch always !: // This is a '>=' - lda #$0B + lda #$0A bne fetch_operator_success // branch always @@ -79,15 +78,15 @@ fetch_operator_try_lteq_neq: // This is a '<' jsr unconsume_character - lda #$0A + lda #$09 bne fetch_operator_success // branch always !: // This is a '<=' - lda #$0C + lda #$0B bne fetch_operator_success // branch always !: // This is a '<>' - lda #$0D + lda #$0C bne fetch_operator_success // branch always diff --git a/c64/basic/operators/operators_jumptable.s b/c64/basic/operators/operators_jumptable.s index 96d35e83..2edc0dc3 100644 --- a/c64/basic/operators/operators_jumptable.s +++ b/c64/basic/operators/operators_jumptable.s @@ -11,30 +11,30 @@ // Tokens $AA-$B0 - oper_add, // ID: $01 - oper_sub, // ID: $02 - oper_mul, // ID: $03 - oper_div, // ID: $04 - oper_pow, // ID: $05 - oper_and, // ID: $06 - oper_or, // ID: $07 + oper_add, // ID: $00 + oper_sub, // ID: $01 + oper_mul, // ID: $02 + oper_div, // ID: $03 + oper_pow, // ID: $04 + oper_and, // ID: $05 + oper_or, // ID: $06 // Tokens $B1-$B3 - oper_cmp_gt, // ID: $08 - oper_cmp_eq, // ID: $09 - oper_cmp_lt, // ID: $0A + oper_cmp_gt, // ID: $07 + oper_cmp_eq, // ID: $08 + oper_cmp_lt, // ID: $09 // Combined two tokens - oper_cmp_gteq, // ID: $0B - oper_cmp_lteq, // ID: $0C - oper_cmp_neq, // ID: $0D + oper_cmp_gteq, // ID: $0A + oper_cmp_lteq, // ID: $0B + oper_cmp_neq, // ID: $0C // Unary operators - oper_unary_minus, // ID: $0E - oper_unary_not // ID: $0F + oper_unary_minus, // ID: $0D + oper_unary_not // ID: $0E )