In this piece of code from r4fasm2.asm, there are multiple .fin labels. How does it know to jump to a correct one?
Labels beginning with a dot (.) are appended to the nearest preceding label that doesn't begin with a dot.
base_label1: ;no dot here
;...
.extension: ;full label name is: base_label1.extension
;...
.another: ;full label name is: base_label1.another
;...
jmp .extension ;go to label base_label1.extension
base_label2: ;no dot here
;...
.extension: ;full label name is: base_label2.extension
;...
.another: ;full label name is: base_label2.another
;...
jmp .extension ;go to label base_label2.extension