; Copyright 2018 faddenSoft. All Rights Reserved. ; See the LICENSE.txt file for distribution terms (Apache 2.0). ; ; Assembler: Merlin 32 ; NOTE: select CPU=65C02 EXTSYM equ $8888 ;EDIT: give this a long label org $1000 nop start lda :local1 lda nextglob lda pastglob lda :local2 :local1 nop :local2 nop nextglob nop ;EDIT: mark label as global pastglob nop lda nlocal nlocal lda #$11 ;EDIT: mark label as global reach1G nop ;EDIT: mark label as global :local lda :local ;EDIT: edit operand to symbol=reach1G lda reach4 ;EDIT: set operand to symbol=reach2; should stay local reach2 nop reach3G nop ;EDIT: mark label as global reach4 nop lda reach2 ;EDIT: edit operand to symbol=reach4; should stay local lda $00 beq :local ;should be local jsr reach4 ;should be local jsr start ;should be global :local lda #$22 lda gtest2 gtest1 nop ;EDIT: mark label as global lda gtest3 gtest2 nop ;...which forces this to be global gtest3 nop ;...and then this is forced to be global lda #$33 lda midlocal ;EDIT: reformat as hex topglob nop ;EDIT: mark label as global lda farlocal ;should be local label ref midlocal nop ;auto-label here should vanish nop farlocal nop lda #$44 globalnm jsr :local2 ;EDIT: mark label as global :local1 nop :local2 nop :local3 nop nglobal nop ;should get marked as global globlat jsr nglobal ;EDIT: mark label as global bra cont cont nop ;EDIT: mark label as global lda EXTSYM ; test localizer uniquification ; only relevant for 64tass, which uses a leading '_' to indicate local labels _uname nop X_uname11 nop X_uname1 nop X_uname nop ; test labels with opcode names (not really a localization thing) ; EDIT: set these names, mark as global to prevent localization lda #$00 ANDl bne ANDl ;leave label local JMPg bne JMPg ;make label global jmpg bne jmpg ;lower case name TSBg bne TSBg XCEg bne XCEg ;should be allowed rts