summaryrefslogtreecommitdiff
path: root/dis.c
diff options
context:
space:
mode:
authorMichael Pavone <pavone@retrodev.com>2014-10-12 19:02:47 -0700
committerMichael Pavone <pavone@retrodev.com>2014-10-12 19:02:47 -0700
commit821106e3e1946d0016f02cfeaf4f2c3ca7200ddb (patch)
tree44d00a35ecc8b0186f73d4722b667bb490e8aada /dis.c
parentfc252737d7e366c5eccbbc08dc028b6adcb7d793 (diff)
Fix logic for automatic label generation.
Diffstat (limited to 'dis.c')
-rw-r--r--dis.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/dis.c b/dis.c
index 06521dd..edd555f 100644
--- a/dis.c
+++ b/dis.c
@@ -11,7 +11,7 @@
#include "tern.h"
uint8_t visited[(16*1024*1024)/16];
-uint8_t label[(16*1024*1024)/8];
+uint16_t label[(16*1024*1024)/8];
void visit(uint32_t address)
{
@@ -23,7 +23,7 @@ void reference(uint32_t address)
{
address &= 0xFFFFFF;
//printf("referenced: %X\n", address);
- label[address/16] |= 1 << (address % 8);
+ label[address/16] |= 1 << (address % 16);
}
uint8_t is_visited(uint32_t address)
@@ -32,10 +32,10 @@ uint8_t is_visited(uint32_t address)
return visited[address/16] & (1 << ((address / 2) % 8));
}
-uint8_t is_label(uint32_t address)
+uint16_t is_label(uint32_t address)
{
address &= 0xFFFFFF;
- return label[address/16] & (1 << (address % 8));
+ return label[address/16] & (1 << (address % 16));
}
typedef struct {