This commit is contained in:
Kelvin Sherlock 2017-01-05 15:41:07 -05:00
parent e72d835c48
commit 84119603be
6 changed files with 49 additions and 41 deletions

View File

@ -13,7 +13,7 @@ endif
wdcdumpobj : $(OBJS) wdcdumpobj : $(OBJS)
$(LINK.o) $^ $(LDLIBS) -o $@
disassembler.o : disassembler.cpp disassembler.h disassembler.o : disassembler.cpp disassembler.h
zrdz_disassembler.o : zrdz_disassembler.cpp zrdz_disassembler.h 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 .PHONY: clean
clean: clean:
$(RM) dumpobj $(OBJS) $(RM) wdcdumpobj $(OBJS)
.PHONY: variables .PHONY: variables

View File

@ -1,7 +1,7 @@
AS = wdc816as AS = wdc816as
ASFLAGS = -L ASFLAGS = -L
all: instructions.obj hello1.obj hello2.obj all: instructions.obj hello1.obj hello2.obj labels.obj
%.obj : %.asm %.obj : %.asm
$(AS) $(ASFLAGS) $< -o $@ $(AS) $(ASFLAGS) $< -o $@

View File

@ -5,7 +5,7 @@
extern extern_label extern extern_label
public public_label public public_label
public public_equ, public_gequ public public_equ, public_gequ, variable
private_label private_label
public_label public_label
@ -28,7 +28,10 @@ page0_label
code code
nop nop
code_equ equ $1234 code_equ equ $1234
variable var $0000
variable var variable+1
code_label code_label
lda #extern_label
ends ends
data data

View File

@ -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 5 extern extern_label
6 6
7 public public_label 7 public public_label
8 public public_equ, public_gequ 8 public public_equ, public_gequ, variable
9 9
10 private_label 10 private_label
11 public_label 11 public_label
@ -37,43 +37,46 @@
28 code 28 code
29 00:0000: EA nop 29 00:0000: EA nop
30 00001234 code_equ equ $1234 30 00001234 code_equ equ $1234
31 code_label 31 00000000 variable var $0000
32 ends 32 00000001 variable var variable+1
33 33 code_label
34 data 34 00:0001: A9 xx xx lda #extern_label
35 00:0000: EA nop 35 ends
36 00001234 data_equ equ $1234 36
37 data_label 37 data
38 ends 38 00:0000: EA nop
39 39 00001234 data_equ equ $1234
40 udata 40 data_label
41 00:0000: EA nop 41 00:0001: ends
42 00001234 udata_equ equ $1234 42
43 udata_label 43 udata
44 ends 44 00:0000: EA nop
45 45 00001234 udata_equ equ $1234
46 kdata 46 udata_label
47 00:0000: EA nop 47 00:0001: ends
48 00001234 kdata_equ equ $1234 48
49 kdata_label 49 kdata
50 ends 50 00:0000: EA nop
51 51 00001234 kdata_equ equ $1234
52 offset_s section offset $200 52 kdata_label
Wed Jan 4 2017 13:51 Page 2 Thu Jan 5 2017 15:23 Page 2
53 00:0200: EA nop 53 00:0001: ends
54 00000201 offset_equ equ * 54
55 offset_label 55 offset_s section offset $200
56 00:0201: ends 56 00:0200: EA nop
57 57 00000201 offset_equ equ *
58 indir_s section indirect $200 58 offset_label
59 00:0200: EA nop 59 00:0201: ends
60 00000201 indir_equ equ * 60
61 indir_label 61 indir_s section indirect $200
62 00:0201: ends 62 00:0200: EA nop
63 63 00000201 indir_equ equ *
64 indir_label
65 00:0201: ends
66
Lines assembled: 63 Lines assembled: 66
Errors: 0 Errors: 0

Binary file not shown.

View File

@ -3,6 +3,8 @@
#include <err.h> #include <err.h>
#include <stdio.h> #include <stdio.h>
#include <algorithm>
static constexpr const int equ_type = (ST_EQU << 4) | S_ABS; static constexpr const int equ_type = (ST_EQU << 4) | S_ABS;
zrdz_disassembler::zrdz_disassembler(std::vector<section> &&sections, std::vector<symbol> &&symbols) : zrdz_disassembler::zrdz_disassembler(std::vector<section> &&sections, std::vector<symbol> &&symbols) :