Blame | Last modification | View Log | Download
# file opened: relocation_temporary_labels_consistency.asm
1 0000 ORG $1000
2 1000
3 1000 RELOCATE_START
4 1000
5 1000 08 00 dw relocate_count
6 1002 10 00 dw relocate_size
7 1004
8 1004 ; these ahead of RELOCATE_TABLE will refresh the table content to keep it consistent
9 1004 1:
10 1004 C3 04 10 jp 1B
11 1007 C3 04 10 jp 1B
12 100A C3 10 10 jp 1F
13 100D C3 10 10 jp 1F
14 1010 1:
15 1010
16 1010 ; emit intetionally table ahead of labels "3B"/"3F" to break table consistency
17 1010 05 10 08 10 RELOCATE_TABLE
17 1014 0B 10 0E 10
17 1018 19 10 1C 10
17 101C 1F 10 22 10
18 1020
relocation_temporary_labels_consistency.asm(19): warning: Temporary label has different address
19 1020 3: ; warning about different address (between pass2 and pass3)
relocation_temporary_labels_consistency.asm(20): warning: Relocation table seems internally inconsistent: table content differs in last pass
20 1020 C3 20 10 jp 3B ; warning about inconsistent table (content differs)
21 1023 C3 20 10 jp 3B ; second warning is not issued (one only)
22 1026 C3 24 10 jp 3F ; forward label test (also two more opportunities to warn if not yet)
23 1029 C3 24 10 jp 3F
relocation_temporary_labels_consistency.asm(24): warning: Temporary label has different address
24 102C 3: ; warning about different address (between pass2 and pass3)
25 102C
26 102C ; emit final version of the table for comparison
27 102C 05 10 08 10 RELOCATE_TABLE
27 1030 0B 10 0E 10
27 1034 21 10 24 10
27 1038 27 10 2A 10
28 103C RELOCATE_END
29 103C
# file closed: relocation_temporary_labels_consistency.asm
Value Label
------ - -----------------------------------------------------------
0x0008 relocate_count
0x0010 relocate_size