Skip to content

Commit

Permalink
Register the 'default' segment in the symbol table (#60)
Browse files Browse the repository at this point in the history
  • Loading branch information
nurpax committed Feb 7, 2021
1 parent 14fedeb commit ad993fe
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 1 deletion.
3 changes: 2 additions & 1 deletion src/asm.ts
Original file line number Diff line number Diff line change
Expand Up @@ -533,9 +533,10 @@ class Assembler {
this.outOfRangeBranches = [];
this.debugInfo = new DebugInfoTracker();

// Empty segments list and append default
// Empty segments list and register the 'default' segment
this.segments = [];
this.curSegment = this.newSegment('default', this.platform.defaultStartPC, undefined, true);
this.scopes.declareSegment('default', this.curSegment);
}

newSegment(name: string, startAddr: number, endAddr: number | undefined, inferStart: boolean): Segment {
Expand Down
16 changes: 16 additions & 0 deletions test/cases/segment5.expected.asm
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
0801: A9 00 LDA #$00
0803: 20 10 08 JSR $0810
0806: A9 01 LDA #$01
0808: 20 10 08 JSR $0810
080B: 00 BRK
080C: 00 BRK
080D: 00 BRK
080E: 00 BRK
080F: 00 BRK
0810: 60 RTS
0811: 00 BRK
0812: 00 BRK
0813: 00 BRK
0814: 00 BRK
0815: 01 02 ORA ($02,X)
0817: 03
18 changes: 18 additions & 0 deletions test/cases/segment5.input.asm
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@

!segment code(start=$810, end=$813)
!segment data(start=$814, end=$817)

* = $801
lda #0
jsr part_1

!segment code
part_1:
rts

!segment data
!byte 0,1,2,3

!segment default
lda #1
jsr part_1

0 comments on commit ad993fe

Please sign in to comment.