Blame | Last modification | View Log | Download
while.asm(42): warning[fwdref]: forward reference of symbol: fwdLabel < $8000# file opened: while.asm1 0000 ; docs example:2 0000 ptr = $40003 0000 WHILE ptr < $40204 0000 00 > DB low ptr5 0001 >ptr = ptr + 14 0001 01 > DB low ptr5 0002 >ptr = ptr + 14 0002 02 > DB low ptr5 0003 >ptr = ptr + 14 0003 03 > DB low ptr5 0004 >ptr = ptr + 14 0004 04 > DB low ptr5 0005 >ptr = ptr + 14 0005 05 > DB low ptr5 0006 >ptr = ptr + 14 0006 06 > DB low ptr5 0007 >ptr = ptr + 14 0007 07 > DB low ptr5 0008 >ptr = ptr + 14 0008 08 > DB low ptr5 0009 >ptr = ptr + 14 0009 09 > DB low ptr5 000A >ptr = ptr + 14 000A 0A > DB low ptr5 000B >ptr = ptr + 14 000B 0B > DB low ptr5 000C >ptr = ptr + 14 000C 0C > DB low ptr5 000D >ptr = ptr + 14 000D 0D > DB low ptr5 000E >ptr = ptr + 14 000E 0E > DB low ptr5 000F >ptr = ptr + 14 000F 0F > DB low ptr5 0010 >ptr = ptr + 14 0010 10 > DB low ptr5 0011 >ptr = ptr + 14 0011 11 > DB low ptr5 0012 >ptr = ptr + 14 0012 12 > DB low ptr5 0013 >ptr = ptr + 14 0013 13 > DB low ptr5 0014 >ptr = ptr + 14 0014 14 > DB low ptr5 0015 >ptr = ptr + 14 0015 15 > DB low ptr5 0016 >ptr = ptr + 14 0016 16 > DB low ptr5 0017 >ptr = ptr + 14 0017 17 > DB low ptr5 0018 >ptr = ptr + 14 0018 18 > DB low ptr5 0019 >ptr = ptr + 14 0019 19 > DB low ptr5 001A >ptr = ptr + 14 001A 1A > DB low ptr5 001B >ptr = ptr + 14 001B 1B > DB low ptr5 001C >ptr = ptr + 14 001C 1C > DB low ptr5 001D >ptr = ptr + 14 001D 1D > DB low ptr5 001E >ptr = ptr + 14 001E 1E > DB low ptr5 001F >ptr = ptr + 14 001F 1F > DB low ptr5 0020 >ptr = ptr + 16 0020 EDUP7 00208 0020 ; other tests9 0020 DEVICE ZXSPECTRUMNEXT9 0020 ORG $800010 8000 searchMem:11 8000 00 00 00 00 DB 0, 0, 0, 012 8004 needle:13 8004 01 DB 114 8005 00 00 00 00 DB 0, 0, 0, 015 8009 searchMemEnd:16 800917 8009 ptr = searchMem18 8009 WHILE (ptr < searchMemEnd) && ({b ptr} == 0) ; search for "1" in memory19 8009 > ; ^ keep in mind {b ..} reads as zero until last pass20 8009 >ptr = ptr + 119 8009 > ; ^ keep in mind {b ..} reads as zero until last pass20 8009 >ptr = ptr + 119 8009 > ; ^ keep in mind {b ..} reads as zero until last pass20 8009 >ptr = ptr + 119 8009 > ; ^ keep in mind {b ..} reads as zero until last pass20 8009 >ptr = ptr + 121 8009 ENDW22 8009 ASSERT needle == ptr23 800924 8009 WHILE needle <= ptr + 3 ; nested whiles25 8009 > WHILE needle <= ptr + 126 8009 >ptr = ptr - 126 8009 >ptr = ptr - 127 8009 > ENDW28 8009 >ptr = ptr - 125 8009 > WHILE needle <= ptr + 127 8009 > ENDW28 8009 >ptr = ptr - 129 8009 ENDW30 8009 ASSERT needle == ptr + 431 800932 8009 ; syntax errors/warningswhile.asm(33): error: [WHILE] Syntax error in <expression>:33 8009 WHILE34 8009 ENDW35 8009while.asm(36): error: [WHILE] Syntax error in <expression>: @36 8009 WHILE @38 8009 ENDW39 800940 8009 WHILE fwdLabel < $800042 8009 ENDW43 800944 8009 fwdLabel:45 800946 8009 ; test the infinite-loop guardian (default 100k)47 8009 cnt = 048 8009 OPT push listmcwhile.asm(49): error: [WHILE] infinite loop? (reaching the guardian value, default 100k)while.asm(51): ^ emitted from here52 8009 OPT pop53 800954 8009 ; test custom-explicit infinite-loop guardian55 8009 cnt = 056 8009 WHILE cnt < 2, 2 ; looping twice with guardian "2" => without error57 8009 >cnt = cnt + 157 8009 >cnt = cnt + 158 8009 ENDW59 800960 8009 cnt = 061 8009 WHILE cnt < 4, 2 ; looping trice with guardian "2" => error62 8009 >cnt = cnt + 162 8009 >cnt = cnt + 162 8009 >cnt = cnt + 1while.asm(61): error: [WHILE] infinite loop? (reaching the guardian value, default 100k)while.asm(63): ^ emitted from here63 8009 ENDW64 800965 8009 cnt = 0while.asm(66): error: [WHILE] Syntax error in <expression>: cnt < 2, @66 8009 WHILE cnt < 2, @ ; syntax error in guardian-couner value68 8009 ENDW69 8009# file closed: while.asmValue Label------ - -----------------------------------------------------------0x0000 cnt0x8009 fwdLabel0x8004 needle0x8000 ptr0x8000 searchMem0x8009 searchMemEnd