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 > 64tass: hex to string into source, how?
2012-05-18 06:54
Flavioweb

Registered: Nov 2011
Posts: 463
64tass: hex to string into source, how?

I i use
number = $1000
.text ^number

result is:
$34, $30, $39, $36

How to do the same but with result
$31, $30, $30, $30?
 
... 10 posts hidden. Click here to view all posts....
 
2012-05-19 07:05
Conrad

Registered: Nov 2006
Posts: 849
^number only prints the result out in decimal, according to the manual.

As for larger numbers than 32-bit, 64Tass is only available on 32-bit OSs. A 64-bit compiled version would probably work. For now, you'll just have to use two 32-bit variables for bigger hex strings.
2012-05-19 07:41
Flavioweb

Registered: Nov 2011
Posts: 463
Quoting Conrad
^number only prints the result out in decimal, according to the manual.

As for larger numbers than 32-bit, 64Tass is only available on 32-bit OSs. A 64-bit compiled version would probably work. For now, you'll just have to use two 32-bit variables for bigger hex strings.

I'm using a -self compiled- version of 64Tass on OpenSuse 12.1 64bit, but seems that only 32bit numbers can be used...
In makefile
#CFLAGS = -O2 -march=i486 -mcpu=i486 -pipe
#CFLAGS = -Wall -O3 -march=i686 -pipe -fomit-frame-pointer -fno-exceptions
#CFLAGS = -Wall

...
2013-08-27 01:16
soci

Registered: Sep 2003
Posts: 480
I know that digging up old threads is not nice, but anyway just to close it up properly.

Use string formatting with hexadecimal output in some recent version:

.text "%04x" % (mylabel,)

And as of 1.51 I would not worry about running out of bits in integers on any platform.
2013-08-27 07:11
Flavioweb

Registered: Nov 2011
Posts: 463
Quote: I know that digging up old threads is not nice, but anyway just to close it up properly.

Use string formatting with hexadecimal output in some recent version:

.text "%04x" % (mylabel,)

And as of 1.51 I would not worry about running out of bits in integers on any platform.


Just in these days i had this problem again using 1.5 (not 1.51!) and i solved using

.TEXT REPR (VALUE)

with
value=1234

.text "%04x" % (value,)
the compiler give a "type mismatch" error, that isn't if i use
.text "%04x" % (1234,)
instead.
Maybe it's fixed in 1.51...
=)
2013-08-27 13:50
soci

Registered: Sep 2003
Posts: 480
Yes it didn't resolve identifiers in the formatting argument tuple in some versions of 1.50. This was so since tuples could contain identifiers and not just values.

When I noticed it the modifications for 1.51 were ongoing but it was unusable yet. So I worked it around it in my sources with dummy calculations like '(label+0, text.."")'.

Fixing it in 1.50 would have been a sort of a hack, but it's fixed now in 1.51 in a clean way now.
2014-03-06 23:22
soci

Registered: Sep 2003
Posts: 480
Quote: I know that digging up old threads is not nice, but anyway just to close it up properly.

Use string formatting with hexadecimal output in some recent version:

.text "%04x" % (mylabel,)

And as of 1.51 I would not worry about running out of bits in integers on any platform.


I don't really like to dig up old threads, but anyway it's necessary for historical reasons.

Since then I realized that this percent formatting syntax was not really good idea as it's too easy to confuse with a normal modulo, especially when variables are used.

So it's gone now in r668. Instead formatting is done using a function with variable number of arguments:

.text format("%04x", mylabel)

If for whatever reason the arguments were contained in variable then the conversion looks like this:

.text format("%d: %s", *somelist)

I hope I don't have to update this thread again anytime soon. But one can never know, it's in development after all...
Previous - 1 | 2 - 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
ΛΛdZ
Chesser/Blazon
Scrap/Genesis Project
Acidchild/Padua
AMB/Level 64
The Syndrom/TIA/Pret..
Wayne Kerr/Flashtro
Guests online: 98
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Mojo  (9.7)
4 Coma Light 13  (9.6)
5 Edge of Disgrace  (9.6)
6 What Is The Matrix 2  (9.6)
7 The Demo Coder  (9.6)
8 Uncensored  (9.6)
9 Comaland 100%  (9.6)
10 Wonderland XIV  (9.6)
Top onefile Demos
1 No Listen  (9.6)
2 Layers  (9.6)
3 Cubic Dream  (9.6)
4 Party Elk 2  (9.6)
5 Copper Booze  (9.6)
6 Dawnfall V1.1  (9.5)
7 Rainbow Connection  (9.5)
8 Onscreen 5k  (9.5)
9 Morph  (9.5)
10 Libertongo  (9.5)
Top Groups
1 Performers  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Triad  (9.3)
5 Censor Design  (9.3)
Top Fullscreen Graphicians
1 Joe  (9.7)
2 Sulevi  (9.6)
3 The Sarge  (9.6)
4 Veto  (9.6)
5 Facet  (9.6)

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