diff --git a/Makefile b/Makefile index c0e88ed..470b22f 100644 --- a/Makefile +++ b/Makefile @@ -13,7 +13,7 @@ endif wdcdumpobj : $(OBJS) - + $(LINK.o) $^ $(LDLIBS) -o $@ disassembler.o : disassembler.cpp disassembler.h zrdz_disassembler.o : zrdz_disassembler.cpp zrdz_disassembler.h disassembler.h @@ -22,7 +22,7 @@ mingw/err.o : mingw/err.c mingw/err.h .PHONY: clean clean: - $(RM) dumpobj $(OBJS) + $(RM) wdcdumpobj $(OBJS) .PHONY: variables diff --git a/samples/Makefile b/samples/Makefile index 46ae6a6..3c82074 100644 --- a/samples/Makefile +++ b/samples/Makefile @@ -1,7 +1,7 @@ AS = wdc816as ASFLAGS = -L -all: instructions.obj hello1.obj hello2.obj +all: instructions.obj hello1.obj hello2.obj labels.obj %.obj : %.asm $(AS) $(ASFLAGS) $< -o $@ diff --git a/samples/labels.asm b/samples/labels.asm index b1eee5b..c9e25b0 100644 --- a/samples/labels.asm +++ b/samples/labels.asm @@ -5,7 +5,7 @@ extern extern_label public public_label - public public_equ, public_gequ + public public_equ, public_gequ, variable private_label public_label @@ -28,7 +28,10 @@ page0_label code nop code_equ equ $1234 +variable var $0000 +variable var variable+1 code_label + lda #extern_label ends data diff --git a/samples/labels.lst b/samples/labels.lst index 60367d6..9f101ea 100644 --- a/samples/labels.lst +++ b/samples/labels.lst @@ -1,4 +1,4 @@ - Wed Jan 4 2017 13:51 Page 1 + Thu Jan 5 2017 15:23 Page 1 *************************************** @@ -14,7 +14,7 @@ 5 extern extern_label 6 7 public public_label - 8 public public_equ, public_gequ + 8 public public_equ, public_gequ, variable 9 10 private_label 11 public_label @@ -37,43 +37,46 @@ 28 code 29 00:0000: EA nop 30 00001234 code_equ equ $1234 - 31 code_label - 32 ends - 33 - 34 data - 35 00:0000: EA nop - 36 00001234 data_equ equ $1234 - 37 data_label - 38 ends - 39 - 40 udata - 41 00:0000: EA nop - 42 00001234 udata_equ equ $1234 - 43 udata_label - 44 ends - 45 - 46 kdata - 47 00:0000: EA nop - 48 00001234 kdata_equ equ $1234 - 49 kdata_label - 50 ends - 51 - 52 offset_s section offset $200 - Wed Jan 4 2017 13:51 Page 2 + 31 00000000 variable var $0000 + 32 00000001 variable var variable+1 + 33 code_label + 34 00:0001: A9 xx xx lda #extern_label + 35 ends + 36 + 37 data + 38 00:0000: EA nop + 39 00001234 data_equ equ $1234 + 40 data_label + 41 00:0001: ends + 42 + 43 udata + 44 00:0000: EA nop + 45 00001234 udata_equ equ $1234 + 46 udata_label + 47 00:0001: ends + 48 + 49 kdata + 50 00:0000: EA nop + 51 00001234 kdata_equ equ $1234 + 52 kdata_label + Thu Jan 5 2017 15:23 Page 2 - 53 00:0200: EA nop - 54 00000201 offset_equ equ * - 55 offset_label - 56 00:0201: ends - 57 - 58 indir_s section indirect $200 - 59 00:0200: EA nop - 60 00000201 indir_equ equ * - 61 indir_label - 62 00:0201: ends - 63 + 53 00:0001: ends + 54 + 55 offset_s section offset $200 + 56 00:0200: EA nop + 57 00000201 offset_equ equ * + 58 offset_label + 59 00:0201: ends + 60 + 61 indir_s section indirect $200 + 62 00:0200: EA nop + 63 00000201 indir_equ equ * + 64 indir_label + 65 00:0201: ends + 66 - Lines assembled: 63 + Lines assembled: 66 Errors: 0 diff --git a/samples/labels.obj b/samples/labels.obj index 9d35b8d..e0368d5 100644 Binary files a/samples/labels.obj and b/samples/labels.obj differ diff --git a/zrdz_disassembler.cpp b/zrdz_disassembler.cpp index 9eb6d37..c0b8cf2 100644 --- a/zrdz_disassembler.cpp +++ b/zrdz_disassembler.cpp @@ -3,6 +3,8 @@ #include #include +#include + static constexpr const int equ_type = (ST_EQU << 4) | S_ABS; zrdz_disassembler::zrdz_disassembler(std::vector
&§ions, std::vector &&symbols) :