From a17f810d50fb13bb7bc27fd487b7e8f5dd542b55 Mon Sep 17 00:00:00 2001 From: FeralChild64 Date: Sun, 12 Jul 2020 13:37:10 +0200 Subject: [PATCH] fixed end of statement check --- src/basic/basic_commands/cmd_print.s | 4 +- src/basic/basic_commands/cmd_run_goto.s | 2 +- src/basic/basic_commands/cmd_sys.s | 2 +- .../helper_load_fetch_filename.s | 2 +- src/basic/engine/ad9e.frmevl.s | 4 +- src/basic/engine/end_of_statement_check.s | 49 ------------------- src/basic/engine/is_end_of_statement.s | 39 +++++++++++++++ 7 files changed, 46 insertions(+), 56 deletions(-) delete mode 100644 src/basic/engine/end_of_statement_check.s create mode 100644 src/basic/engine/is_end_of_statement.s diff --git a/src/basic/basic_commands/cmd_print.s b/src/basic/basic_commands/cmd_print.s index fe7093c5..2c81a2de 100644 --- a/src/basic/basic_commands/cmd_print.s +++ b/src/basic/basic_commands/cmd_print.s @@ -8,7 +8,7 @@ cmd_print: // First check if we have anything to print - jsr end_of_statement_check + jsr is_end_of_statement bcs cmd_print_new_line_done jsr fetch_character @@ -76,7 +76,7 @@ cmd_print_next_arg: // Look for the next argument - jsr end_of_statement_check + jsr is_end_of_statement bcs cmd_print_new_line_done cmp #$2C // comma XXX on C64 behavior is more complicated, fix it diff --git a/src/basic/basic_commands/cmd_run_goto.s b/src/basic/basic_commands/cmd_run_goto.s index 4ef839a0..c5e88994 100644 --- a/src/basic/basic_commands/cmd_run_goto.s +++ b/src/basic/basic_commands/cmd_run_goto.s @@ -20,7 +20,7 @@ cmd_goto: // Reset line pointer to first line of program. jsr init_oldtxt - jsr end_of_statement_check + jsr is_end_of_statement bcs !+ jsr fetch_line_number diff --git a/src/basic/basic_commands/cmd_sys.s b/src/basic/basic_commands/cmd_sys.s index fc326360..01dcf833 100644 --- a/src/basic/basic_commands/cmd_sys.s +++ b/src/basic/basic_commands/cmd_sys.s @@ -5,7 +5,7 @@ cmd_sys: - jsr end_of_statement_check + jsr is_end_of_statement bcc !+ // SYS requires an argument diff --git a/src/basic/basic_commands/helper_load_fetch_filename.s b/src/basic/basic_commands/helper_load_fetch_filename.s index d93a4055..367b4cbf 100644 --- a/src/basic/basic_commands/helper_load_fetch_filename.s +++ b/src/basic/basic_commands/helper_load_fetch_filename.s @@ -11,7 +11,7 @@ helper_load_fetch_filename: // Check if end of statement - jsr end_of_statement_check + jsr is_end_of_statement bcs !+ // Call the expression parser, make sure it returned a string diff --git a/src/basic/engine/ad9e.frmevl.s b/src/basic/engine/ad9e.frmevl.s index b1f8688e..c831e153 100644 --- a/src/basic/engine/ad9e.frmevl.s +++ b/src/basic/engine/ad9e.frmevl.s @@ -41,7 +41,7 @@ FRMEVL_loop: // Check if end of statement, fetch the character - jsr end_of_statement_check + jsr is_end_of_statement bcs_16 do_SYNTAX_error jsr fetch_character @@ -200,7 +200,7 @@ FRMEVL_fetch_string: FRMEVL_got_value: - jsr end_of_statement_check + jsr is_end_of_statement bcs FRMEVL_compute_all // compute the stack if expression ended // FALLTROUGH diff --git a/src/basic/engine/end_of_statement_check.s b/src/basic/engine/end_of_statement_check.s deleted file mode 100644 index 7612d433..00000000 --- a/src/basic/engine/end_of_statement_check.s +++ /dev/null @@ -1,49 +0,0 @@ -// #LAYOUT# STD * #TAKE -// #LAYOUT# * BASIC_0 #TAKE -// #LAYOUT# * * #IGNORE - -// -// Check for end of statement, sets Carry if so. Injests all spaces. -// - - -end_of_statement_check: - - // XXX consider optimized version for 46K/56K memory models - - ldy #$00 - -#if CONFIG_MEMORY_MODEL_60K - ldx #