News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests
NB: Posting URL's See here: Posted URL Change

Main Menu

Immediate too large

Started by Biterider, February 17, 2019, 03:00:41 AM

Previous topic - Next topic

Biterider

Hi
It seems that UASM 2.47 in 64 bit mode accepts such a line

mov PPP, 01122334455667788h

00007FF6B8582BA2 48 C7 05 D3 91 00 00 88 77 66 55 mov         qword ptr [PPP (07FF6B858BD80h)],55667788h 


without warning that the value is too large, but an error is issued when passing an offset.

I think that this behavior is not intended ...

Biterider

johnsa

Hi,

Added a fix for this. It's been hanging around a long time in the parser!

2.48 packages and github branch updated.

John

Biterider


Mikl__

Hi, Biterider!
mov rax, 01122334455667788h
mov PPP, rax

Biterider

Hi Mikl__
Thanks, I know. The 64 bit architecture don't let you do that directly, so you are forced to load first a register and then transfer the content to the memory location, like you showed in your post.
The point here is that UASM don't warn you that it truncates the value of the immediate. Using a reference it shows you a nice error message  :biggrin: .

Biterider