Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Coding > Kickass symbols export
2020-12-26 20:24
Fresh

Registered: Jan 2005
Posts: 101
Kickass symbols export

Hi all,
I'm having some issues recompiling old stuff with kickass 5.16: it looks like the command line option "-symbolfile" doesn't always export data labels.
For example, take this code:
.pc=$0800
code:
	lda data1
	lda data2
	lda data3
	rts
	
data1:
.for(var i=0;i<1;i++) .byte $00

data2:
.if (1==1) .byte $00
	
data3:
.byte $00

I'd expect 4 labels in sym file, but I only get these:
.label code=$800
.label data3=$80c

Am I missing something or is it a bug?
2020-12-27 13:32
Walt

Registered: May 2004
Posts: 47
I get the same result (KA 5.13).

If I insert a .byte 0 before the .for and .if statement it works as expected (I get all 3 data labels in symbol file).

My guess is that the preprocessor skips the data labels with .for and .if as they are undefined at first loop and by forcing explicit data values before the .if and .for they are included.

I would say it is an error...
2020-12-27 22:43
Slammer

Registered: Feb 2004
Posts: 416
Thanks for noticing. It is corrected now and will be in version 5.17. You will then get the defined labels. If you define labels inside your if, you will also get these if the condition is evaluated to true. Labels defined inside the .for { .. } can't currently be reached. It will be implemented if people have a need for it, but it will require a new and rather wierd label array definition directive.

Walt: The explanation is not that sophisticated. Instead of just inserting integers in the scope table, special values are inserted for labels before '.if' and '.for' directives since they should also give access to the labels inside these directives. Exports where simply not implemented for these values.

If you want a workaround that doesn't damage the code (.byte 0 inserts a value) use '.eval true' instead
2020-12-27 23:33
Walt

Registered: May 2004
Posts: 47
That's a quick reply :)

Building an assembler is a huge task, keeping it bug-free even more so - Thank you for a great tool :)
2020-12-28 15:12
Peacemaker

Registered: Sep 2004
Posts: 243
maybe a good moment to thanks slammer for kickass. keep of the good work. i love kickass =)
2020-12-28 20:07
Krill

Registered: Apr 2002
Posts: 2839
Tower Power 92% >= Kickass >>>> Tower Power 100%. =)
2020-12-30 00:20
Fresh

Registered: Jan 2005
Posts: 101
Thank you very much Slammer!
I agree with Peacemaker: you’ve done a great job, kickass makes easier lot of things.
Keep it up!!
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
redback
Guests online: 133
Top Demos
1 Next Level  (9.8)
2 Mojo  (9.7)
3 Coma Light 13  (9.7)
4 Edge of Disgrace  (9.6)
5 Comaland 100%  (9.6)
6 No Bounds  (9.6)
7 Uncensored  (9.6)
8 The Ghost  (9.6)
9 Wonderland XIV  (9.6)
10 Bromance  (9.6)
Top onefile Demos
1 It's More Fun to Com..  (9.8)
2 Party Elk 2  (9.7)
3 Cubic Dream  (9.6)
4 Copper Booze  (9.5)
5 Rainbow Connection  (9.5)
6 TRSAC, Gabber & Pebe..  (9.5)
7 Onscreen 5k  (9.5)
8 Wafer Demo  (9.5)
9 Dawnfall V1.1  (9.5)
10 Quadrants  (9.5)
Top Groups
1 Oxyron  (9.3)
2 Nostalgia  (9.3)
3 Booze Design  (9.3)
4 Censor Design  (9.3)
5 Crest  (9.3)
Top Musicians
1 Rob Hubbard  (9.7)
2 Jeroen Tel  (9.7)
3 Stinsen  (9.6)
4 Mutetus  (9.6)
5 Linus  (9.6)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.061 sec.