Rev 539 | Blame | Compare with Previous | Last modification | View Log | Download
# file opened: syntax_b.asm1 0000 ; Thorough tests for memory accessing instructions with --syntax=b2 0000 ; default bracket syntax (relaxed one)3 0000 OPT reset --zxnext --syntax=a -Wrdlow4 0000 ; 3x OK: val, mem, mem5 0000 3E 00 ld a,0syntax_b.asm(5): warning[rdlow]: Reading memory at low address: 15 0002 3A 01 00 ld a,(1)5 0005 3A 02 00 ld a,[2]6 0008 ; 2x OK: val, val, ---7 0008 06 03 ld b,37 000A 06 04 ld b,(4)syntax_b.asm(7): error: Syntax error: [5]syntax_b.asm(7): error: Unexpected: [5]7 000C 06 00 ld b,[5]8 000E ; 2x OK: val, val, ---9 000E CB 5F bit 3,a9 0010 CB 5F bit (3),asyntax_b.asm(9): error: Syntax error: [3],a9 0012 bit [3],a10 0012 ; 2x OK: val, val, ---11 0012 C6 06 add a,611 0014 C6 07 add a,(7)syntax_b.asm(11): error: Syntax error: [8]syntax_b.asm(11): error: Unexpected: [8]11 0016 C6 00 add a,[8]12 0018 CE 06 adc a,612 001A CE 07 adc a,(7)syntax_b.asm(12): error: Syntax error: [8]syntax_b.asm(12): error: Unexpected: [8]12 001C CE 00 adc a,[8]13 001E D6 06 sub a,613 0020 D6 07 sub a,(7)syntax_b.asm(13): error: Syntax error: [8]syntax_b.asm(13): error: Unexpected: [8]13 0022 D6 00 sub a,[8] ; this syntax works because --syntax=A was used14 0024 DE 06 sbc a,614 0026 DE 07 sbc a,(7)syntax_b.asm(14): error: Syntax error: [8]syntax_b.asm(14): error: Unexpected: [8]14 0028 DE 00 sbc a,[8]15 002A E6 06 and a,615 002C E6 07 and a,(7)syntax_b.asm(15): error: Syntax error: [8]syntax_b.asm(15): error: Unexpected: [8]15 002E E6 00 and a,[8]16 0030 EE 06 xor a,616 0032 EE 07 xor a,(7)syntax_b.asm(16): error: Syntax error: [8]syntax_b.asm(16): error: Unexpected: [8]16 0034 EE 00 xor a,[8]17 0036 F6 06 or a,617 0038 F6 07 or a,(7)syntax_b.asm(17): error: Syntax error: [8]syntax_b.asm(17): error: Unexpected: [8]17 003A F6 00 or a,[8]18 003C FE 06 cp a,618 003E FE 07 cp a,(7)syntax_b.asm(18): error: Syntax error: [8]syntax_b.asm(18): error: Unexpected: [8]18 0040 FE 00 cp a,[8]19 0042 ; 2x OK: val, val, ---20 0042 ED 56 im 120 0044 ED 56 im (1)syntax_b.asm(20): error: Syntax error: [1]syntax_b.asm(20): error: Unexpected: [1]20 0046 ED 46 im [1]21 0048 ; 2x OK: val, val, ---22 0048 36 09 ld (hl),922 004A 36 0A ld (hl),(10)syntax_b.asm(22): error: Syntax error: [11]syntax_b.asm(22): error: Unexpected: [11]22 004C 36 00 ld (hl),[11]23 004E ; 2x OK: val, val, ---24 004E DD 36 00 0C ld (ix),1224 0052 DD 36 00 0D ld (ix),(13)syntax_b.asm(24): error: Syntax error: [14]syntax_b.asm(24): error: Unexpected: [14]24 0056 DD 36 00 00 ld (ix),[14]25 005A ; 2x OK: val, val, ---26 005A DD 2E 0F ld ixl,1526 005D DD 2E 10 ld ixl,(16)syntax_b.asm(26): error: Syntax error: [17]syntax_b.asm(26): error: Unexpected: [17]26 0060 DD 2E 00 ld ixl,[17]27 0063 ; 2x OK: val, val, ---28 0063 36 12 2B ldd (hl),1828 0066 36 13 2B ldd (hl),(19)syntax_b.asm(28): error: Syntax error: [20]syntax_b.asm(28): error: Unexpected: [20]28 0069 36 00 2B ldd (hl),[20] ; Fake instructions29 006C ; 2x OK: val, val, ---30 006C DD 36 00 15 ldd (ix),2130 0070 DD 2B30 0072 DD 36 00 16 ldd (ix),(22)30 0076 DD 2Bsyntax_b.asm(30): error: Syntax error: [23]syntax_b.asm(30): error: Unexpected: [23]30 0078 DD 36 00 00 ldd (ix),[23] ; Fake instructions30 007C DD 2B31 007E ; 2x OK: val, val, ---32 007E 36 18 23 ldi (hl),2432 0081 36 19 23 ldi (hl),(25)syntax_b.asm(32): error: Syntax error: [26]syntax_b.asm(32): error: Unexpected: [26]32 0084 36 00 23 ldi (hl),[26] ; Fake instructions33 0087 ; 2x OK: val, val, ---34 0087 DD 36 00 1B ldi (ix),2734 008B DD 2334 008D DD 36 00 1C ldi (ix),(28)34 0091 DD 23syntax_b.asm(34): error: Syntax error: [29]syntax_b.asm(34): error: Unexpected: [29]34 0093 DD 36 00 00 ldi (ix),[29] ; Fake instructions34 0097 DD 2335 0099 ; 2x OK: val, val, ---36 0099 ED 91 1E 1F nextreg 30,3136 009D ED 91 20 21 nextreg (32),(33)syntax_b.asm(36): error: Syntax error: [34],[35]syntax_b.asm(36): error: [NEXTREG] Comma expectedsyntax_b.asm(36): error: Unexpected: [34],[35]36 00A1 nextreg [34],[35]37 00A1 ; 2x OK: val, val, ---syntax_b.asm(38): warning[out0]: 'out (c),0' is unstable, on CMOS based chips it does `out (c),255`38 00A1 ED 71 out (c),0syntax_b.asm(38): warning[out0]: 'out (c),0' is unstable, on CMOS based chips it does `out (c),255`38 00A3 ED 71 out (c),(0)syntax_b.asm(38): error: Syntax error: [0]syntax_b.asm(38): warning[out0]: 'out (c),0' is unstable, on CMOS based chips it does `out (c),255`syntax_b.asm(38): error: Unexpected: [0]38 00A5 ED 71 out (c),[0]39 00A7 ; 2x OK: val, val, ---40 00A7 CB BF res 7,a40 00A9 CB BF res (7),asyntax_b.asm(40): error: Syntax error: [7],a40 00AB res [7],a41 00AB ; 2x OK: val, val, ---42 00AB D7 rst 1642 00AC D7 rst (16)syntax_b.asm(42): error: Syntax error: [16]syntax_b.asm(42): error: Unexpected: [16]42 00AD C7 rst [16]43 00AE ; 2x OK: val, val, ---44 00AE CB F7 set 6,a44 00B0 CB F7 set (6),asyntax_b.asm(44): error: Syntax error: [6],a44 00B2 set [6],a45 00B2 ; 2x OK: val, val, ---46 00B2 ED 27 24 test 3646 00B5 ED 27 25 test (37)syntax_b.asm(46): error: Syntax error: [38]syntax_b.asm(46): error: Unexpected: [38]46 00B8 ED 27 00 test [38]47 00BB48 00BB ;; 16 bit immediates (none of them on regular Z80, always ambiguous val+mem combination)49 00BB ; 2x OK: val, val, ---50 00BB ED 34 64 00 add hl,10050 00BF ED 34 65 00 add hl,(101)syntax_b.asm(50): error: Syntax error: [102]syntax_b.asm(50): error: Unexpected: [102]50 00C3 ED 34 00 00 add hl,[102]51 00C7 ED 36 67 00 add bc,10351 00CB ED 36 68 00 add bc,(104)syntax_b.asm(51): error: Syntax error: [105]syntax_b.asm(51): error: Unexpected: [105]51 00CF ED 36 00 00 add bc,[105]52 00D3 ED 35 6A 00 add de,10652 00D7 ED 35 6B 00 add de,(107)syntax_b.asm(52): error: Syntax error: [108]syntax_b.asm(52): error: Unexpected: [108]52 00DB ED 35 00 00 add de,[108]53 00DF ED 8A 00 6D push 10953 00E3 ED 8A 00 6E push (110)syntax_b.asm(53): error: Syntax error: [111]syntax_b.asm(53): error: Unexpected: [111]53 00E7 ED 8A 00 00 push [111]54 00EB55 00EB OPT --syntax=b56 00EB ; 3x OK: val, mem, mem57 00EB 3E 00 ld a,0syntax_b.asm(57): warning[rdlow]: Reading memory at low address: 157 00ED 3A 01 00 ld a,(1)57 00F0 3A 02 00 ld a,[2]58 00F3 ; 1x OK: val, ---, ---59 00F3 06 03 ld b,3syntax_b.asm(59): error: Illegal instruction (can't access memory): (4)59 00F5 06 00 ld b,(4)syntax_b.asm(59): error: Illegal instruction (can't access memory): [5]59 00F7 06 00 ld b,[5]60 00F9 ; 1x OK: val, ---, ---61 00F9 CB 5F bit 3,asyntax_b.asm(61): error: Illegal instruction (can't access memory): (3),a61 00FB CB 47 bit (3),asyntax_b.asm(61): error: Illegal instruction (can't access memory): [3],a61 00FD CB 47 bit [3],a62 00FF ; 1x OK: val, ---, ---63 00FF C6 06 add a,6syntax_b.asm(63): error: Illegal instruction (can't access memory): (7)63 0101 C6 00 add a,(7)syntax_b.asm(63): error: Illegal instruction (can't access memory): [8]63 0103 C6 00 add a,[8]64 0105 CE 06 adc a,6syntax_b.asm(64): error: Illegal instruction (can't access memory): (7)64 0107 CE 00 adc a,(7)syntax_b.asm(64): error: Illegal instruction (can't access memory): [8]64 0109 CE 00 adc a,[8]65 010B D6 06 sub a,6syntax_b.asm(65): error: Illegal instruction (can't access memory): (7)65 010D D6 00 sub a,(7)syntax_b.asm(65): error: Illegal instruction (can't access memory): [8]65 010F D6 00 sub a,[8] ; this syntax works because --syntax=A was used66 0111 DE 06 sbc a,6syntax_b.asm(66): error: Illegal instruction (can't access memory): (7)66 0113 DE 00 sbc a,(7)syntax_b.asm(66): error: Illegal instruction (can't access memory): [8]66 0115 DE 00 sbc a,[8]67 0117 E6 06 and a,6syntax_b.asm(67): error: Illegal instruction (can't access memory): (7)67 0119 E6 00 and a,(7)syntax_b.asm(67): error: Illegal instruction (can't access memory): [8]67 011B E6 00 and a,[8]68 011D EE 06 xor a,6syntax_b.asm(68): error: Illegal instruction (can't access memory): (7)68 011F EE 00 xor a,(7)syntax_b.asm(68): error: Illegal instruction (can't access memory): [8]68 0121 EE 00 xor a,[8]69 0123 F6 06 or a,6syntax_b.asm(69): error: Illegal instruction (can't access memory): (7)69 0125 F6 00 or a,(7)syntax_b.asm(69): error: Illegal instruction (can't access memory): [8]69 0127 F6 00 or a,[8]70 0129 FE 06 cp a,6syntax_b.asm(70): error: Illegal instruction (can't access memory): (7)70 012B FE 00 cp a,(7)syntax_b.asm(70): error: Illegal instruction (can't access memory): [8]70 012D FE 00 cp a,[8]71 012F ; 1x OK: val, ---, ---72 012F ED 56 im 1syntax_b.asm(72): error: Illegal instruction (can't access memory): (1)72 0131 ED 46 im (1)syntax_b.asm(72): error: Illegal instruction (can't access memory): [1]72 0133 ED 46 im [1]73 0135 ; 1x OK: val, ---, ---74 0135 36 09 ld (hl),9syntax_b.asm(74): error: Illegal instruction (can't access memory): (10)74 0137 36 00 ld (hl),(10)syntax_b.asm(74): error: Illegal instruction (can't access memory): [11]74 0139 36 00 ld (hl),[11]75 013B ; 1x OK: val, ---, ---76 013B DD 36 00 0C ld (ix),12syntax_b.asm(76): error: Illegal instruction (can't access memory): (13)76 013F DD 36 00 00 ld (ix),(13)syntax_b.asm(76): error: Illegal instruction (can't access memory): [14]76 0143 DD 36 00 00 ld (ix),[14]77 0147 ; 1x OK: val, ---, ---78 0147 DD 2E 0F ld ixl,15syntax_b.asm(78): error: Illegal instruction (can't access memory): (16)78 014A DD 2E 00 ld ixl,(16)syntax_b.asm(78): error: Illegal instruction (can't access memory): [17]78 014D DD 2E 00 ld ixl,[17]79 0150 ; 1x OK: val, ---, ---80 0150 36 12 2B ldd (hl),18syntax_b.asm(80): error: Illegal instruction (can't access memory): (19)80 0153 36 00 2B ldd (hl),(19)syntax_b.asm(80): error: Illegal instruction (can't access memory): [20]80 0156 36 00 2B ldd (hl),[20] ; Fake instructions81 0159 ; 1x OK: val, ---, ---82 0159 DD 36 00 15 ldd (ix),2182 015D DD 2Bsyntax_b.asm(82): error: Illegal instruction (can't access memory): (22)82 015F DD 36 00 00 ldd (ix),(22)82 0163 DD 2Bsyntax_b.asm(82): error: Illegal instruction (can't access memory): [23]82 0165 DD 36 00 00 ldd (ix),[23] ; Fake instructions82 0169 DD 2B83 016B ; 1x OK: val, ---, ---84 016B 36 18 23 ldi (hl),24syntax_b.asm(84): error: Illegal instruction (can't access memory): (25)84 016E 36 00 23 ldi (hl),(25)syntax_b.asm(84): error: Illegal instruction (can't access memory): [26]84 0171 36 00 23 ldi (hl),[26] ; Fake instructions85 0174 ; 1x OK: val, ---, ---86 0174 DD 36 00 1B ldi (ix),2786 0178 DD 23syntax_b.asm(86): error: Illegal instruction (can't access memory): (28)86 017A DD 36 00 00 ldi (ix),(28)86 017E DD 23syntax_b.asm(86): error: Illegal instruction (can't access memory): [29]86 0180 DD 36 00 00 ldi (ix),[29] ; Fake instructions86 0184 DD 2387 0186 ; 1x OK: val, ---, ---88 0186 ED 91 1E 1F nextreg 30,31syntax_b.asm(88): error: Illegal instruction (can't access memory): (32),(33)syntax_b.asm(88): error: Illegal instruction (can't access memory): (33)88 018A ED 91 00 00 nextreg (32),(33)syntax_b.asm(88): error: Illegal instruction (can't access memory): [34],[35]syntax_b.asm(88): error: Illegal instruction (can't access memory): [35]88 018E ED 91 00 00 nextreg [34],[35]89 0192 ; 1x OK: val, ---, ---syntax_b.asm(90): warning[out0]: 'out (c),0' is unstable, on CMOS based chips it does `out (c),255`90 0192 ED 71 out (c),0syntax_b.asm(90): error: Illegal instruction (can't access memory): (0)syntax_b.asm(90): warning[out0]: 'out (c),0' is unstable, on CMOS based chips it does `out (c),255`90 0194 ED 71 out (c),(0)syntax_b.asm(90): error: Illegal instruction (can't access memory): [0]syntax_b.asm(90): warning[out0]: 'out (c),0' is unstable, on CMOS based chips it does `out (c),255`90 0196 ED 71 out (c),[0]91 0198 ; 1x OK: val, ---, ---92 0198 CB BF res 7,asyntax_b.asm(92): error: Illegal instruction (can't access memory): (7),a92 019A CB 87 res (7),asyntax_b.asm(92): error: Illegal instruction (can't access memory): [7],a92 019C CB 87 res [7],a93 019E ; 1x OK: val, ---, ---94 019E D7 rst 16syntax_b.asm(94): error: Illegal instruction (can't access memory): (16)94 019F C7 rst (16)syntax_b.asm(94): error: Illegal instruction (can't access memory): [16]94 01A0 C7 rst [16]95 01A1 ; 1x OK: val, ---, ---96 01A1 CB F7 set 6,asyntax_b.asm(96): error: Illegal instruction (can't access memory): (6),a96 01A3 CB C7 set (6),asyntax_b.asm(96): error: Illegal instruction (can't access memory): [6],a96 01A5 CB C7 set [6],a97 01A7 ; 1x OK: val, ---, ---98 01A7 ED 27 24 test 36syntax_b.asm(98): error: Illegal instruction (can't access memory): (37)98 01AA ED 27 00 test (37)syntax_b.asm(98): error: Illegal instruction (can't access memory): [38]98 01AD ED 27 00 test [38]99 01B0100 01B0 ; 1x OK: val, ---, ---101 01B0 ED 34 64 00 add hl,100syntax_b.asm(101): error: Illegal instruction (can't access memory): (101)101 01B4 ED 34 00 00 add hl,(101)syntax_b.asm(101): error: Illegal instruction (can't access memory): [102]101 01B8 ED 34 00 00 add hl,[102]102 01BC ED 36 67 00 add bc,103syntax_b.asm(102): error: Illegal instruction (can't access memory): (104)102 01C0 ED 36 00 00 add bc,(104)syntax_b.asm(102): error: Illegal instruction (can't access memory): [105]102 01C4 ED 36 00 00 add bc,[105]103 01C8 ED 35 6A 00 add de,106syntax_b.asm(103): error: Illegal instruction (can't access memory): (107)103 01CC ED 35 00 00 add de,(107)syntax_b.asm(103): error: Illegal instruction (can't access memory): [108]103 01D0 ED 35 00 00 add de,[108]104 01D4 ED 8A 00 6D push 109syntax_b.asm(104): error: Illegal instruction (can't access memory): (110)104 01D8 ED 8A 00 00 push (110)syntax_b.asm(104): error: Illegal instruction (can't access memory): [111]104 01DC ED 8A 00 00 push [111]105 01E0106 01E0 someLabel:syntax_b.asm(107): error: Illegal instruction (can't access memory): (someLabel)107 01E0 06 00 ld b,(someLabel) ; just make super sure it does catch the original real world annoyance108 01E2109 01E2 ;; Docs example from command line options section110 01E2 OPT reset --syntax=abfw111 01E2 0F 00 label: dw 15syntax_b.asm(112): error: Illegal instruction (can't access memory): (label)112 01E4 06 00 ld b,(label)113 01E6 90 sub a,b114 01E7# file closed: syntax_b.asmValue Label------ - -----------------------------------------------------------0x01E2 label0x01E0 someLabel