Rev 539 | Blame | Compare with Previous | Last modification | View Log | Download
# file opened: disp.asm1 0000 OUTPUT "disp.bin"2 00003 0000 ORG $80004 8000 phase1_start:5 8000 PHASE $FFFF6 FFFF 41 longptr1: DB 'A'7 0000 42 longptr2: DB 'B'8 0001 43 longptr3: DB 'C'9 0002 UNPHASE10 8003 phase1_end:11 800312 8003 5F normalmem: DB '_'13 800414 8004 ORG $FFFF15 FFFF phase2_start:16 FFFF PHASE $FFFE17 FFFE 2E 44 longptr4: DB '.D' ; disp FFFE..FFFF, but crossing real memory $1000018 0000 45 longptr5: DB 'E' ; crossing also disp $1000019 0001 46 longptr6: DB 'F'20 0002 UNPHASE21 0003 phase2_end:22 000323 0003 5F longmem: DB '_'24 000425 0004 ORG $24000026 0000 phase3_start:27 0000 PHASE $FFFFFF28 FFFF 47 longptr7: DB 'G'29 0000 48 longptr8: DB 'H'30 0001 49 longptr9: DB 'I'31 0002 UNPHASE32 0003 phase3_end:33 000334 0003 ; but using the long pointers still emits the truncation warningdisp.asm(35): warning: value 0xFFFFFF is truncated to 16bit value: 0xFFFF35 0003 21 FF FF ld hl,longptr7disp.asm(36): warning: value 0x1000000 is truncated to 16bit value: 0x000036 0006 00 00 dw longptr837 0008 ; no warning when explicit truncation is used38 0008 21 FF FF ld hl,longptr7&$FFFF39 000B 00 00 dw longptr8&$FFFF40 000D41 000D ; added: in one project the usage of `DS 0` did uncover bug truncating longptr addresses back to 16b, fixed in v1.18.442 000D43 000D ORG $3500044 5000 phase4_start:45 5000 PHASE $4600046 6000 longptrA:47 6000 DS 0,'!'48 6000 longptrB:49 6000 UNPHASE50 5000 phase4_end:51 5000 ASSERT longptrA == longptrB && phase4_start == phase4_end52 5000# file closed: disp.asmValue Label------ - -----------------------------------------------------------0x10003 X longmem0xFFFF X longptr10x10000 X longptr20x10001 X longptr30xFFFE X longptr40x10000 X longptr50x10001 X longptr60xFFFFFF longptr70x1000000 longptr80x1000001 X longptr90x46000 longptrA0x46000 longptrB0x8003 X normalmem0x8003 X phase1_end0x8000 X phase1_start0x10003 X phase2_end0xFFFF X phase2_start0x240003 X phase3_end0x240000 X phase3_start0x35000 phase4_end0x35000 phase4_start