![]() |
|
Weird DEFB bug (*solved*) - Printable Version +- Boriel Basic Forum (https://forum.boriel.com) +-- Forum: Compilers and Computer Languages (https://forum.boriel.com/forumdisplay.php?fid=12) +--- Forum: ZX Basic Compiler (https://forum.boriel.com/forumdisplay.php?fid=11) +---- Forum: Bug Reports (https://forum.boriel.com/forumdisplay.php?fid=15) +---- Thread: Weird DEFB bug (*solved*) (/showthread.php?tid=641) |
Weird DEFB bug (*solved*) - einar - 2015-02-22 Try running this program: Code: GO TO 10
sample:
asm
defb "A(B)CD"
end asm
10 DIM a,i AS UBYTE
FOR i = 0 TO 5
LET a=PEEK(@sample+i)
PRINT a;" '";CHR$(a);"'"
NEXT iIt was supposed to produce this output: Code: 65 'A'
40 '('
66 'B'
41 ')'
67 'C'
68 'D'However it will produce this output instead: Code: 65 'A'
32 ' '
40 '('
66 'B'
41 ')'
67 'C'Apparently this extra space (code 32) mysteriously appears whenever there's parenthesis inside a defb string. Tested using latest version 1.4.0s1902. This problem always happens regardless of optimization level for compilation. Re: Weird DEFB bug - boriel - 2015-07-11 Confirmed bug. hock: And I'm puzzled, because I though it was in the preprocessor. It is not. Re: Weird DEFB bug - boriel - 2015-07-11 boriel Wrote:Confirmed bug.Ok. It seems fixed now, but please, check even your old programs to see if they works ok. It was a bug in an bizarre code in the optimizer I need to refact (as always). Please, can you download ZX BASIC 1.4.0-r1912 and tell me if it works ok? :roll: Re: Weird DEFB bug - einar - 2015-07-11 It works now, thanks!!! |