Line 69... |
Line 69... |
if (verify_memoryarea(i+j)) {
|
if (verify_memoryarea(i+j)) {
|
struct mem_entry *entry;
|
struct mem_entry *entry;
|
if (cur_area->getentry && (entry = cur_area->getentry(i+j)))
|
if (cur_area->getentry && (entry = cur_area->getentry(i+j)))
|
for(tmp = entry->label; tmp; tmp = tmp->next)
|
for(tmp = entry->label; tmp; tmp = tmp->next)
|
printf(" %s%s", tmp->name, LABELEND_CHAR);
|
printf(" %s%s", tmp->name, LABELEND_CHAR);
|
printf("%02x ", data = evalsim_mem8(i+j));
|
printf("%02x ", data = eval_mem8(i+j, &breakpoint));
|
} else printf("XX ");
|
} else printf("XX ");
|
j++;
|
j++;
|
} else {
|
} else {
|
int breakpoint;
|
int breakpoint;
|
unsigned int _insn = eval_mem32(i, &breakpoint);
|
unsigned int _insn = eval_mem32(i, &breakpoint);
|
Line 362... |
Line 362... |
|
|
if (verify_memoryarea(memaddr)) {
|
if (verify_memoryarea(memaddr)) {
|
switch(cur_area->granularity) {
|
switch(cur_area->granularity) {
|
case 1:
|
case 1:
|
temp = cur_area->readfunc(memaddr);
|
temp = cur_area->readfunc(memaddr);
|
temp |= cur_area->readfunc(memaddr + 1) << 16;
|
|
temp |= cur_area->readfunc(memaddr + 2) << 8;
|
|
temp |= cur_area->readfunc(memaddr + 3);
|
|
break;
|
break;
|
case 2:
|
case 2:
|
case 4:
|
case 4:
|
printf("EXCEPTION: read 8-bit value from %u-bit region (address 0x%08lX)\n", cur_area->granularity * 8, memaddr);
|
printf("EXCEPTION: read 8-bit value from %u-bit region (address 0x%08lX)\n", cur_area->granularity * 8, memaddr);
|
cont_run = 0;
|
cont_run = 0;
|
Line 405... |
Line 402... |
switch(cur_area->granularity) {
|
switch(cur_area->granularity) {
|
case 1:
|
case 1:
|
cur_area->writefunc(memaddr, (value >> 24) & 0xFF);
|
cur_area->writefunc(memaddr, (value >> 24) & 0xFF);
|
cur_area->writefunc(memaddr + 1, (value >> 16) & 0xFF);
|
cur_area->writefunc(memaddr + 1, (value >> 16) & 0xFF);
|
cur_area->writefunc(memaddr + 2, (value >> 8) & 0xFF);
|
cur_area->writefunc(memaddr + 2, (value >> 8) & 0xFF);
|
cur_area->writefunc(memaddr + 3, value & 0xFF);
|
cur_area->writefunc(memaddr + 3, (value ) & 0xFF);
|
break;
|
break;
|
case 2:
|
case 2:
|
cur_area->writefunc(memaddr, (value >> 16) & 0xFFFF);
|
cur_area->writefunc(memaddr, (value >> 16) & 0xFFFF);
|
cur_area->writefunc(memaddr + 2, value & 0xFFFF);
|
cur_area->writefunc(memaddr + 2, value & 0xFFFF);
|
break;
|
break;
|
Line 446... |
Line 443... |
case 1:
|
case 1:
|
cur_area->writefunc(memaddr, (value >> 8) & 0xFF);
|
cur_area->writefunc(memaddr, (value >> 8) & 0xFF);
|
cur_area->writefunc(memaddr + 1, value & 0xFF);
|
cur_area->writefunc(memaddr + 1, value & 0xFF);
|
break;
|
break;
|
case 2:
|
case 2:
|
cur_area->writefunc(memaddr, (value >> 16) & 0xFFFF);
|
cur_area->writefunc(memaddr, value & 0xFFFF);
|
break;
|
break;
|
case 4:
|
case 4:
|
printf("EXCEPTION: write 16-bit value to 32-bit region (address 0x%08lX)\n", memaddr);
|
printf("EXCEPTION: write 16-bit value to 32-bit region (address 0x%08lX)\n", memaddr);
|
cont_run = 0;
|
cont_run = 0;
|
break;
|
break;
|