flat assembler
Message board for the users of flat assembler.

Index > Main > How I can define 256 bit variable?

Author
Thread Post new topic Reply to topic
SergeASM



Joined: 13 Nov 2015
Posts: 21
SergeASM 12 Mar 2016, 08:05
Hello all,

sorry for troubling, I can't find answer in search.

Code:
align 32
qq1 dq ?
    dq ?
[...]
vmovdqa ymm0,qqword[qq1]    


Can I define one variable of 256 bit?

Serge
Post 12 Mar 2016, 08: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: 20303
Location: In your JS exploiting you and your system
revolution 12 Mar 2016, 08:16
Code:
vmovdqa ymm0,qqword ptr qq1    
Post 12 Mar 2016, 08:16
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: 20303
Location: In your JS exploiting you and your system
revolution 12 Mar 2016, 08:19
Update: This also works
Code:
qq1 dq ?,?,?,?
vmovdqa ymm0,qqword ptr qq1
label qq2 qqword at $$
vmovdqa ymm0,[qq2]    


Last edited by revolution on 12 Mar 2016, 09:25; edited 1 time in total
Post 12 Mar 2016, 08:19
View user's profile Send private message Visit poster's website Reply with quote
SergeASM



Joined: 13 Nov 2015
Posts: 21
SergeASM 12 Mar 2016, 09:17
Thanks but you've defined a label, but not 256 bit variable. Smile
Suppose I want to define a 256 bit constant like:

qq1 qq 12345678901234567890123456789012h

Why there is no definition qq?
Post 12 Mar 2016, 09:17
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: 20303
Location: In your JS exploiting you and your system
revolution 12 Mar 2016, 09:22
Fasm doesn't support more than 64 bit numbers at this time. Also, the CPUs don't support more than 64 bit numbers at this time.

BTW: There is no such thing as a 256 bit number when talking about native CPU instructions, you have to use multiples of 64 bit numbers. The fact that the current batch of CPUs allow defining multiples of 64 bit numbers in parallel doesn't alter the fact that they still can only work with a maximum of 64 bit numbers in any ALU or FPU execution unit.
Post 12 Mar 2016, 09:22
View user's profile Send private message Visit poster's website Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< 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.