comparison dis.c @ 2273:ff726f53d75a

Fix diassembly involving absolute addresses with high bits set
author Michael Pavone <pavone@retrodev.com>
date Thu, 29 Dec 2022 19:52:40 -0800
parents 80dde7fb445b
children bf1bb893f104
comparison
equal deleted inserted replaced
2272:777900eb8e15 2273:ff726f53d75a
40 } rom_def; 40 } rom_def;
41 41
42 uint16_t fetch(uint32_t address, void *data) 42 uint16_t fetch(uint32_t address, void *data)
43 { 43 {
44 rom_def *rom = data; 44 rom_def *rom = data;
45 address &= 0xFFFFFF;
45 if (address >= rom->address_off && address < rom->address_end) { 46 if (address >= rom->address_off && address < rom->address_end) {
46 return rom->buffer[((address & 0xFFFFFF) - rom->address_off) >> 1]; 47 return rom->buffer[(address - rom->address_off) >> 1];
47 } 48 }
48 return 0; 49 return 0;
49 } 50 }
50 51
51 void print_label_def(char *key, tern_val val, uint8_t valtype, void *data) 52 void print_label_def(char *key, tern_val val, uint8_t valtype, void *data)