Go to most recent revision | 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 000D# file closed: disp.asmValue Label------ - -----------------------------------------------------------0x8000 X phase1_start0xFFFF X longptr10x10000 X longptr20x10001 X longptr30x8003 X phase1_end0x8003 X normalmem0xFFFF X phase2_start0xFFFE X longptr40x10000 X longptr50x10001 X longptr60x10003 X phase2_end0x10003 X longmem0x240000 X phase3_start0xFFFFFF longptr70x1000000 longptr80x1000001 X longptr90x240003 X phase3_end