Fix ON GOTO and ON GOSUB - Fixed unit tests

This commit is contained in:
Sigurdur Sveinn Halldorsson 2016-07-21 13:08:57 +02:00
parent 6fd0e556f6
commit a6de77b857
1 changed files with 40 additions and 38 deletions

View File

@ -70,26 +70,28 @@
2032 T = T + 1
2033 T = T + 1
2034 S = (T=3) : GOSUB 1
2035 T$ = "ON GOTO (EDGE CASE: 0)" : T = 1
: ON 0 GOTO 2036, 2037 : T = T + 3
2036 T = T + 1
2035 T$ = "ON GOTO (EDGE CASE: 0)" : T = 1 : ONERR GOTO 2039
2036 ON 0 GOTO 2037, 2038 : T = T + 3
2037 T = T + 1
2038 S = (T=6) : GOSUB 1
2039 T$ = "ON GOTO (EDGE CASE: -0.1)" : T = 1 : ONERR GOTO 2043
2040 ON -0.1 GOTO 2041, 2042 : T = T + 3
2041 T = T + 1
2038 T = T + 1
2039 S = (T=6) : POKE 216,0 : GOSUB 1
2040 T$ = "ON GOTO (EDGE CASE: -0.1)" : T = 1 : ONERR GOTO 2044
2041 ON -0.1 GOTO 2042, 2043 : T = T + 3
2042 T = T + 1
2043 S = (T=1) AND (PEEK(222)=53): GOSUB 1
2044 T$ = "ON GOTO (EDGE CASE: 255.2)" : T = 1
: ON 255.2 GOTO 2045, 2046 : T = T + 3
2045 T = T + 1
2046 T = T + 1
2047 S = (T=6) : GOSUB 1
2048 T$ = "ON GOTO (EDGE CASE: 256)" : T = 1 : ONERR GOTO 2052
2049 ON -0.1 GOTO 2050, 2051 : T = T + 3
2050 T = T + 1
2051 T = T + 1
2052 S = (T=1) AND (PEEK(222)=53): GOSUB 1
2043 T = T + 1
2044 S = (T=1) AND (PEEK(222)=53): POKE 216,0 : GOSUB 1
2045 T$ = "ON GOTO (EDGE CASE: 255.2)" : T = 1 : ONERR GOTO 2049
2046 ON 255.2 GOTO 2047, 2048 : T = T + 3
2047 T = T + 1
2048 T = T + 1
2049 S = (T=6) : POKE 216,0 : GOSUB 1
2050 T$ = "ON GOTO (EDGE CASE: 256)" : T = 1 : ONERR GOTO 2054
2051 ON -0.1 GOTO 2052, 2053 : T = T + 3
2052 T = T + 1
2053 T = T + 1
2054 S = (T=1) AND (PEEK(222)=53): POKE 216,0 : GOSUB 1
2060 T$ = "ON GOSUB" : T = 1 : ON 2 GOSUB 2061, 2062, 2063 : GOTO 2064
@ -97,28 +99,28 @@
2062 T = T + 2 : RETURN
2063 T = T + 3 : RETURN
2064 S = (T=3) : GOSUB 1
2065 T$ = "ON GOSUB (EDGE CASE: 0)" : T = 1
: ON 0 GOSUB 2066, 2067, 2068 : GOTO 2069
2066 T = T + 1 : RETURN
2065 T$ = "ON GOSUB (EDGE CASE: 0)" : T = 1 : ONERR GOTO 2069
2066 ON 0 GOSUB 2067, 2068 : GOTO 2070
2067 T = T + 2 : RETURN
2068 T = T + 3 : RETURN
2069 S = (T=1) : GOSUB 1
2070 T$ = "ON GOSUB (EDGE CASE: -0.1)" : T = 1 : ONERR GOTO 2074
2071 ON -0.1 GOSUB 2072, 2073 : T = T + 5 : GOTO 2074
2072 T = T + 2 : RETURN
2073 T = T + 3 : RETURN
2074 S = (T=1) AND (PEEK(222)=53): GOSUB 1
2075 T$ = "ON GOSUB (EDGE CASE: 255.2)" : T = 1
: ON 255.2 GOSUB 2076, 2077, 2078 : GOTO 2079
2076 T = T + 1 : RETURN
2077 T = T + 2 : RETURN
2078 T = T + 3 : RETURN
2079 S = (T=1) : GOSUB 1
2080 T$ = "ON GOSUB (EDGE CASE: 256)" : T = 1 : ONERR GOTO 2084
2081 ON 256 GOSUB 2082, 2083 : T = T + 5 : GOTO 2084
2082 T = T + 2 : RETURN
2083 T = T + 3 : RETURN
2084 S = (T=1) AND (PEEK(222)=53): GOSUB 1
2069 T = 255
2070 S = (T=1) : POKE 216,0 : GOSUB 1
2071 T$ = "ON GOSUB (EDGE CASE: -0.1)" : T = 1 : ONERR GOTO 2075
2072 ON -0.1 GOSUB 2073, 2074 : T = T + 5 : GOTO 2075
2073 T = T + 2 : RETURN
2074 T = T + 3 : RETURN
2075 S = (T=1) AND (PEEK(222)=53): POKE 216,0 : GOSUB 1
2076 T$ = "ON GOSUB (EDGE CASE: 255.2)" : T = 1 : ONERR GOTO 2080
2077 ON 255.2 GOSUB 2078, 2079 : GOTO 2081
2078 T = T + 2 : RETURN
2079 T = T + 3 : RETURN
2080 T = 255
2081 S = (T=1) : POKE 216,0 : GOSUB 1
2082 T$ = "ON GOSUB (EDGE CASE: 256)" : T = 1 : ONERR GOTO 2086
2083 ON 256 GOSUB 2084, 2085 : T = T + 5 : GOTO 2086
2084 T = T + 2 : RETURN
2085 T = T + 3 : RETURN
2086 S = (T=1) AND (PEEK(222)=53): POKE 216,0 : GOSUB 1
2150 T$ = "POP" : T = 1 : GOSUB 2155 : T = T + 1 : GOTO 2159
2155 T = T + 1 : GOSUB 2156 : T = T + 5