flat assembler
Message board for the users of flat assembler.

Index > Projects and Ideas > fasm modification for expanded data types

Goto page 1, 2  Next
Author
Thread Post new topic Reply to topic
John Spera



Joined: 17 Feb 2011
Posts: 22
Location: Lowell, Massachusetts USA
John Spera 17 Feb 2011, 15:54
Hello,

My fasm modifications for the addition of a "tbyte" data type using 3 characters is generating an "invalid size of operand" error. I made changes to the address sizes and data directives, using dc,3 and rc,3 in the tables. I also set up the memory allocations for them. When I used an instruction involving "stos tbyte", I received the stated error.

I am not sure how to proceed. Any advice would be greatly appreciated.

Thanks,
John
Post 17 Feb 2011, 15:54
View user's profile Send private message Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 20424
Location: In your JS exploiting you and your system
revolution 17 Feb 2011, 16:07
tbyte is a reserved symbol used for 10 byte extended floats.
Post 17 Feb 2011, 16:07
View user's profile Send private message Visit poster's website Reply with quote
John Spera



Joined: 17 Feb 2011
Posts: 22
Location: Lowell, Massachusetts USA
John Spera 17 Feb 2011, 16:19
revolution wrote:
tbyte is a reserved symbol used for 10 byte extended floats.


That must be my problem. I will need to come up with another label.

Thanks,
John
Post 17 Feb 2011, 16:19
View user's profile Send private message Reply with quote
edfed



Joined: 20 Feb 2006
Posts: 4353
Location: Now
edfed 17 Feb 2011, 17:15
use the symbol dword, and ignore MSB. result, work on 24 bits, 3 chars.
Post 17 Feb 2011, 17:15
View user's profile Send private message Visit poster's website Reply with quote
John Spera



Joined: 17 Feb 2011
Posts: 22
Location: Lowell, Massachusetts USA
John Spera 17 Feb 2011, 17:51
I was thinking more about creating compact file structures. I was able to do this with C programs, now I want to do it with fasm.

Just a thought. We will eventually have computers with 12, 24, and 48 bit registers. It is my understanding that a UTF-12 character would contain the language symbols for our entire world population. I am just trying to get started in that direction.

Thanks,
John
Post 17 Feb 2011, 17:51
View user's profile Send private message Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 20424
Location: In your JS exploiting you and your system
revolution 17 Feb 2011, 17:59
Even UTF-16 had to be extended beyond 65536 to contain all the world's language symbols. Some languages have more than 4096.

And I highly doubt that any mainstream computer will have 12, 24, or 48 bit registers. Where did you read/hear about that?
Post 17 Feb 2011, 17:59
View user's profile Send private message Visit poster's website Reply with quote
John Spera



Joined: 17 Feb 2011
Posts: 22
Location: Lowell, Massachusetts USA
John Spera 17 Feb 2011, 18:14
Hi,

The information I was reading about languages must be outdated.

For some reason I tend to think that base 12 bit structures would be a good idea. I have not read that any where. It is a reflection of my thinking??

Everything is a matter of perspective and speculation. What will the next generation of computer be like?

Thanks for the input.

John
Post 17 Feb 2011, 18:14
View user's profile Send private message Reply with quote
f0dder



Joined: 19 Feb 2004
Posts: 3175
Location: Denmark
f0dder 17 Feb 2011, 19:45
John Spera wrote:
For some reason I tend to think that base 12 bit structures would be a good idea.
For what reason? Seems like a very arbitrary number to me.

John Spera wrote:
Everything is a matter of perspective and speculation. What will the next generation of computer be like?
Pretty much like the current generation Smile

_________________
Image - carpe noctem
Post 17 Feb 2011, 19:45
View user's profile Send private message Visit poster's website Reply with quote
edfed



Joined: 20 Feb 2006
Posts: 4353
Location: Now
edfed 17 Feb 2011, 21:05
with RAX expanded to 128 bits. SAX.

but still no 4GB onchip RAM nor onchip Vidéo DAC.
nowadays, the goal of IA-32 is not to be good for personnal development, but is made to generate the more money as possible (for them), with the help of microsoft and others...
Post 17 Feb 2011, 21:05
View user's profile Send private message Visit poster's website Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 20424
Location: In your JS exploiting you and your system
revolution 18 Feb 2011, 01:08
edfed wrote:
with RAX expanded to 128 bits. SAX.
Pity we don't have an EX register to expand in this way. Sad
Post 18 Feb 2011, 01:08
View user's profile Send private message Visit poster's website Reply with quote
Tyler



Joined: 19 Nov 2009
Posts: 1216
Location: NC, USA
Tyler 18 Feb 2011, 03:33
Base 6(and, by inclusion, 12) have the special property of being multiples of 3#( = 2*3 = 6). Numbers not coprime to 2 and 3 are easily distinguished in base 6 by there least significant digit. If a number in base 6 doesn't have a least significant digit of 1 or 5, it is divisible by either 2 or 3. The general case of this is that, a number, n, is not coprime to a prime, p, and all primes less than p, if it is not coprime to 1 or an prime between p and p#, where # denotes the primorial function.

I discovered this a while ago, and haven't spent too much time thinking of why it is. But it is a cool relationship. Smile
Post 18 Feb 2011, 03:33
View user's profile Send private message Reply with quote
JohnFound



Joined: 16 Jun 2003
Posts: 3499
Location: Bulgaria
JohnFound 18 Feb 2011, 07:14
BTW, there was 12 bit machines in the past. I managed to code for one of them. It was a mini-machine (it occupied only half a room instead of a hall). Very Happy
Post 18 Feb 2011, 07:14
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8356
Location: Kraków, Poland
Tomasz Grysztar 18 Feb 2011, 07:22
revolution wrote:
Pity we don't have an EX register to expand in this way. Sad
But we would probably get such-named prefix. Wink
Post 18 Feb 2011, 07:22
View user's profile Send private message Visit poster's website Reply with quote
John Spera



Joined: 17 Feb 2011
Posts: 22
Location: Lowell, Massachusetts USA
John Spera 18 Feb 2011, 16:08
Tyler wrote:
Base 6(and, by inclusion, 12) have the special property of being multiples of 3#( = 2*3 = 6). Numbers not coprime to 2 and 3 are easily distinguished in base 6 by there least significant digit. If a number in base 6 doesn't have a least significant digit of 1 or 5, it is divisible by either 2 or 3. The general case of this is that, a number, n, is not coprime to a prime, p, and all primes less than p, if it is not coprime to 1 or an prime between p and p#, where # denotes the primorial function.

I discovered this a while ago, and haven't spent too much time thinking of why it is. But it is a cool relationship. Smile


I am not that deep into math, however I understand that base 12 math will eventually become the standard for physics.

I read your reply several times. I would really like to appreciate your insights better. That relationship has much to offer based on what I have read.

Sometimes I think we all need more humility. I suspect that it would help us to envision options that are beyond conventional wisdom. This applies to all subjects.

May I ask if you played chess at the unexplained mysteries forum? A member there was Tyler? BTW I was John343.

Thanks,
John
Post 18 Feb 2011, 16:08
View user's profile Send private message Reply with quote
John Spera



Joined: 17 Feb 2011
Posts: 22
Location: Lowell, Massachusetts USA
John Spera 18 Feb 2011, 17:15
I switched the reserved word tbyte and used bytet instead. Changed that word in the memory allocations.

Rebuilding fasm generated the following error when allocating memory. The process I used involved 2 steps. The first part used the table modification. Once that worked, I used that executable for those memory region modifications.

"error: invalid operand" for "stos bytet [edi]. No doubt I would get a similar error when reserving memory.

Any insights as to why this happened will be appreciated.

Thanks,
John
Post 18 Feb 2011, 17:15
View user's profile Send private message Reply with quote
Tyler



Joined: 19 Nov 2009
Posts: 1216
Location: NC, USA
Tyler 18 Feb 2011, 18:51
John Spera wrote:
Tyler wrote:
Base 6(and, by inclusion, 12) have the special property of being multiples of 3#( = 2*3 = 6). Numbers not coprime to 2 and 3 are easily distinguished in base 6 by there least significant digit. If a number in base 6 doesn't have a least significant digit of 1 or 5, it is divisible by either 2 or 3. The general case of this is that, a number, n, is not coprime to a prime, p, and all primes less than p, if it is not coprime to 1 or an prime between p and p#, where # denotes the primorial function.

I discovered this a while ago, and haven't spent too much time thinking of why it is. But it is a cool relationship. Smile


I am not that deep into math, however I understand that base 12 math will eventually become the standard for physics.

I read your reply several times. I would really like to appreciate your insights better. That relationship has much to offer based on what I have read.

Sometimes I think we all need more humility. I suspect that it would help us to envision options that are beyond conventional wisdom. This applies to all subjects.

May I ask if you played chess at the unexplained mysteries forum? A member there was Tyler? BTW I was John343.

Thanks,
John
I just noticed how off topic that really was. I just saw "base 12" and went into a nerd trance, and dumped a cool factoid about base 6.

What you are talking in just word size. It would be less ambiguous to say "12bit word." Where "word" in this sense is the machine word, and you're specifying it is 12 bits wide.

No, I've never played chess online. I suck at chess.
Post 18 Feb 2011, 18:51
View user's profile Send private message Reply with quote
John Spera



Joined: 17 Feb 2011
Posts: 22
Location: Lowell, Massachusetts USA
John Spera 18 Feb 2011, 19:28
Tyler wrote:
John Spera wrote:
Tyler wrote:
Base 6(and, by inclusion, 12) have the special property of being multiples of 3#( = 2*3 = 6). Numbers not coprime to 2 and 3 are easily distinguished in base 6 by there least significant digit. If a number in base 6 doesn't have a least significant digit of 1 or 5, it is divisible by either 2 or 3. The general case of this is that, a number, n, is not coprime to a prime, p, and all primes less than p, if it is not coprime to 1 or an prime between p and p#, where # denotes the primorial function.

I discovered this a while ago, and haven't spent too much time thinking of why it is. But it is a cool relationship. Smile


I am not that deep into math, however I understand that base 12 math will eventually become the standard for physics.

I read your reply several times. I would really like to appreciate your insights better. That relationship has much to offer based on what I have read.

Sometimes I think we all need more humility. I suspect that it would help us to envision options that are beyond conventional wisdom. This applies to all subjects.

May I ask if you played chess at the unexplained mysteries forum? A member there was Tyler? BTW I was John343.

Thanks,
John
I just noticed how off topic that really was. I just saw "base 12" and went into a nerd trance, and dumped a cool factoid about base 6.

What you are talking in just word size. It would be less ambiguous to say "12bit word." Where "word" in this sense is the machine word, and you're specifying it is 12 bits wide.

No, I've never played chess online. I suck at chess.


OK, I asked because the name Tyler was the same.

That base 6 insight impressed me. At the moment I am focusing on that 24 bit word. After that I would be interested in those 12 and 6 bit storage words. Compact informational labels do have value, as I see it naturally.

Thanks,
John
Post 18 Feb 2011, 19:28
View user's profile Send private message Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8356
Location: Kraków, Poland
Tomasz Grysztar 18 Feb 2011, 19:43
This concept of base being divisible by as many of the initial numbers as possible was already utilized by ancients when the used base 60.
Post 18 Feb 2011, 19:43
View user's profile Send private message Visit poster's website Reply with quote
edfed



Joined: 20 Feb 2006
Posts: 4353
Location: Now
edfed 18 Feb 2011, 20:35
john spera:

fact is that X86 is based on bytes (8 bits) and even multiples of bytes (16, 32, 64).

fasm cannot do anything to the CPU in order to support other bases than 8, 16, 32, 64, 80, 128 an 256 bits. it is like that, and if a HLL can give the support, it is just because they are many layer over assembler, where the machine code is an abstraction, and where developper don't understand binary.
Post 18 Feb 2011, 20:35
View user's profile Send private message Visit poster's website Reply with quote
John Spera



Joined: 17 Feb 2011
Posts: 22
Location: Lowell, Massachusetts USA
John Spera 19 Feb 2011, 14:08
Tomasz:

I see your work as the foundation for next generation information tools. These seemingly unnecessary features do provide some building blocks for more advanced structural changes, as I visualize them.

edfed:

If I could be sure that we would have only 8/16/32/64 based computers for another 40 years, I might agree with you. Since I can build data structures in C that are 24 bit values, I am convinced it can be done with fasm. I am starting to re-involve myself with assembler after many years of using higher level languages. My assembler skills go back to those old times when computers used JCL as an operating system. As a result I am on a steep learning curve.

Community efforts appeal to me. Very few of us get anywhere in life, or with a project, without the support of others. So more than anything else, I am looking for that.

Thanks,
John
Post 19 Feb 2011, 14:08
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  
Goto page 1, 2  Next

< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.