flat assembler
Message board for the users of flat assembler.

Index > Main > Question about 1.73.27

Author
Thread Post new topic Reply to topic
ProMiNick



Joined: 24 Mar 2012
Posts: 817
Location: Russian Federation, Sochi
ProMiNick 08 Jul 2021, 06:38
Quote:
[-] The assembler should no longer prematurely abort when sign-extended 32-bit
value in 64-bit instruction overflows during intermediate passes.


Is that mean such tricks are not required anymore:
Code:
HRESULT equ -$80000000+$80000000 xor
E_PENDING                       = HRESULT($8000000A)    

we could pass $8000000A instead of $FFFFFFFF8000000A

Am I understand this correctly?

but this still dosn`t work:
Code:
use64
push $8000000A    

required
Code:
use64
push $FFFFFFFF8000000A    

_________________
I don`t like to refer by "you" to one person.
My soul requires acronim "thou" instead.
Post 08 Jul 2021, 06:38
View user's profile Send private message Send e-mail Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 20522
Location: In your JS exploiting you and your system
revolution 08 Jul 2021, 06:45
While values are still being refined during the initial passes the overflows are ignored.

The assembler will still abort on the final pass when sign-extended 32-bit value in 64-bit instruction overflows.

It is still impossible to push 0x80000000 in 64-bit mode, there is no byte sequence that can encode that.
Post 08 Jul 2021, 06:45
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-2025, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.