ksherlock / qasm

Merlin 8/16/16+ Compatible 6502/65816 assembler/linker suite in C++ for linux
Other
1 stars 0 forks source link

label size limits? #5

Closed ksherlock closed 4 years ago

ksherlock commented 4 years ago

qasm I.UDP.S

n.b. - only compiles if PLS macro (from RJBUTILS.MAC.S) is commented out...

TCP.EQU.S:

Assembling I.UDP.S

Assembling.

Duplicate label in line: 37 >134.

Duplicate label in line: 37 >164.

Duplicate label in line: 37 >165.

Duplicate label in line: 37 >166.

Misalignment in line: 37 >164.
                     >164 tcpDGMSICMPECHORQOUTADRL0    ;ICMP ECHORQ replies sent out

Misalignment in line: 37 >165.
                     >165 tcpDGMSICMPECHORPADRL0       ;ICMP ECHORPs in

Misalignment in line: 37 >166.
                     >166 tcpDGMSICMPECHORPBADIDADRL0  ;ICMP ECHORPs unclaimed

Misalignment in line: 37 >168.
                     >168 tcpDGMSUDP ADRL 0            ;UDPs OK (added to UDP queue)

Object saved as I.UDP.L,A$0185,L$0204,LNK

End of QuickASM assembly. 516 bytes, 8 errors, 2467 lines, 617 symbols.

Elapsed time = < 1 second.
ksherlock commented 4 years ago

Based on testing, Merlin 16+ labels allow up to 25 characters. should check how EXT/ENT handles long names.

ksherlock commented 4 years ago

REL file allows labels up to $1f (31) bytes long.

ksherlock commented 4 years ago

the label size is very much integrated into the symbol table, so the symbol table and linker need to be updated together. Lots of hard-coded numbers in those files.

ksherlock commented 4 years ago

label size increased to 31.