You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The fact is that the first instruction is not really valid as the operand size is too big. Actually it prints out a warning about it, but it is super easy to miss it:
> mov qword [rsp-0x1234], 0x1122334455667788
/dev/fd/3:3: warning: signed dword immediate exceeds bounds [-w+number-overflow]
/dev/fd/3:3: warning: dword data exceeds bounds [-w+number-overflow]
Can we make this warning an error and not continue on that?
The text was updated successfully, but these errors were encountered:
I've changed the behavior here a bit: after piping user input to nasm we now capture both stdout (the bytecode) and stderr (warnings). If anything is written to stderr, we dump it and truncate the bytecode length to 0 so the state will be unchanged. In pipe mode this is an error and we exit(1). UI mode treats it as an assembly failure basically -- previously we would have warned and executed nasms best effort at assembling the instruction, now we warn and don't execute anything. I'd rather not make it an error, because the ui quitting due to the user entering an invalid instruction like this could be very annoying.
After:
The result in
rbx
is:The fact is that the first instruction is not really valid as the operand size is too big. Actually it prints out a warning about it, but it is super easy to miss it:
Can we make this warning an error and not continue on that?
The text was updated successfully, but these errors were encountered: