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 > Kick Assembler Thread 2
2009-07-21 17:20
Slammer

Registered: Feb 2004
Posts: 416
Kick Assembler Thread 2

The previous thread took a little long to load, so this is a new fresh one..
 
... 590 posts hidden. Click here to view all posts....
 
2012-02-20 20:36
Slammer

Registered: Feb 2004
Posts: 416
I once considered making a set preprocessing commands so you could do things like this, but I guess it will be really confusing to have two if commands, two var commands, etc. And I guess the .importonce directive covers 99% of the needs.

Dependent on how complex you includes are, there might be a hack. Since normal directives aren't evaluated during the preprossing pass, you can't create normal .var's or .const's to use in the '.import source' directive.. However, you can give variables to the assembler by the command line and use these as the include filename. Create an empty file to include, if you don't want to include anything..

Eg:
  --- Commandline ---
  java -jar KickAss.jar mySource.asm :loader="irqloader.asm" 

  --- mySource.asm ----
  .import source cmdLineVars.get("loader")


NB. Its only the .import source directive that is effects by this issue. Other imports can be placed inside if's
2012-03-12 11:28
Norrland

Registered: Aug 2011
Posts: 14
I'm trying to convert from 64tass-religion to KickAss-religion. When using 64tass, I've been using command line option -L alot. From 64tass docs:
Quote:

-L <file> List into <file>
Dumps source code and compiled code into file. Useful for debugging code, it's much easier to identify the code in memory within the source files.
Example

64tass -L list.txt a.asm
*=$1000
ldx #0
loop dex
bne loop
rts

result (list.txt):

;6502/65C02/65816/CPU64/DTV Turbo Assembler V1.4x listing file of "a.asm"
;done on Fri Dec 9 19:08:55 2005

.1000    a2 00          ldx #$00                ldx #0
.1002    ca             dex             loop    dex
.1003    d0 fd          bne $1002               bne loop
.1005    60             rts                     rts

;****** end of code


I can't seem to find a similar command line option in Kick Assembler docs. Does that exists?
2012-03-13 15:46
Cruzer

Registered: Dec 2001
Posts: 1048
@H Macaroni: Seems like a cool feature, but no, you can't do that in KickAss. What I usually do is simply to print out the address of the point I wanna inspect in the monitor like this:

.print "here: " + toHexString(*)
2012-03-13 20:44
Slammer

Registered: Feb 2004
Posts: 416
If i where you, I would export a vice symbol file (option -vicesymbols) and see your code in the vice monitor (including your labels).

There actually is a secret option a bit like the one you want, but with a much higher detail level so I won't recommend it for debugging programs in general (I use it for debugging the assembler). However, It might be interesting for people who wants a sneak peak of whats going on while assembling. The option is -parsetree which shows the state between each pass. The output looks like this:
rasterbar.asm 45:4             :       #NAsmCmd(ldy, EAsmArg(EVarRef(rasterColor)))
rasterbar.asm 46:4             :       #NAsmCmd(cpy, EAsmArg(EConst(!255.0)))
rasterbar.asm 47:4             :       #NAsmCmd(beq, EAsmArg(EVarRef(o1)))
rasterbar.asm 48:4             :       #NAsmCmd(lda, EAsmArg(EConst(!53266.0)))
rasterbar.asm 49:4             :       #NAsmCmd(cmp, EAsmArg(EConst(!53266.0)))
rasterbar.asm 50:4             :       #NAsmCmd(beq, EAsmArg(EObjFuncCall(-,EPcRef(),EConst(!3.0))))
rasterbar.asm 51:4             :       #NAsmCmd(sty, EAsmArg(EConst(!53280.0)))
rasterbar.asm 52:4             :       #NAsmCmd(inx, EAsmArg())
rasterbar.asm 53:4             :       #NAsmCmd(jmp, EAsmArg(EVarRef(l1)))


Beware, It easily gets complicated and is not supported in any way (Originally only intended for me to read). However, if you are really interested whats going on in line 50, you might be able to tell.

2012-03-13 23:51
Norrland

Registered: Aug 2011
Posts: 14
Thanks for the answers, I'll try them.
2012-04-17 21:20
Mace

Registered: May 2002
Posts: 1799
Why do I get an error (Uknown function) on the - in [max-min] in de code below?
Using KickAss v3.25.

.pseudocommand sinData min;max;freq {
	.var amp = 0
	.eval amp = [max-min]/2
	.fill 256, amp + amp * sin(toRadians(i*[360*freq]/256))
	}

.pc = $1000
	:sinData 0;255;1
2012-04-17 22:00
Killsquad
Account closed

Registered: Jun 2005
Posts: 17
To get the numeric value of the params use max.getValue(), min.getValue() and freq.getValue().
2012-04-17 22:15
Killsquad
Account closed

Registered: Jun 2005
Posts: 17
Would it be possible for enums to continue from the next number after an explicit value?
Example:
.enum { var1 = $10, var2, var3 }
should give var2=$11, var3=$12

As it is now var1=$10, var2=$00 and var3=$01

Thanks for the massive effort by the way. Excellent assembler!
2012-04-18 11:11
Cruzer

Registered: Dec 2001
Posts: 1048
Mace: Seems more like a job for a macro. Then you don't have to use getValue()
2012-04-18 18:27
Mace

Registered: May 2002
Posts: 1799
Thanks Killsquad.
@Cruzer: yeah, probably... was just foolin' around 'n stuff ;-)
Previous - 1 | ... | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | ... | 60 - Next
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
Low Spirit
hedning/G★P
t0m3000/ibex-crew
Higgie/Kraze/Onslaught
Mibri/ATL^MSL^PRX
MightyAxle
CA$H/TRiAD
Guests online: 115
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 Wonderland XIV  (9.6)
9 Bromance  (9.6)
10 Memento Mori  (9.6)
Top onefile Demos
1 It's More Fun to Com..  (9.7)
2 Party Elk 2  (9.7)
3 Cubic Dream  (9.6)
4 Copper Booze  (9.5)
5 TRSAC, Gabber & Pebe..  (9.5)
6 Rainbow Connection  (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 NTSC-Fixers
1 Pudwerx  (10)
2 Booze  (9.7)
3 Stormbringer  (9.7)
4 Fungus  (9.6)
5 Grim Reaper  (9.3)

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