News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

BUGs in MASM 32 v9

Started by Mur, September 04, 2006, 06:26:03 PM

Previous topic - Next topic

Mur

.UNTILCXZ not supported flags (to example: ZERO? and others)
(patch: http://www.masm32.com/board/index.php?action=dlattach;topic=5654.0;id=2860)
----------------------------
MASM32 v9  does not warn by signed overflow:
.data
    b_number db -234      ; not warn! not correct signed result!
    w_number SWORD -45678 ; not warn! not correct signed result!
.code
  mov SBYTE PTR [b_number], -234   ; not warn! not correct signed result!
  mov [w_number], SWORD PTR -45678 ; not warn! not correct signed result!
----------------------------
MASM32 v9 does not warn by save REAL to DWORD
.data?
    i_number dd ?
.code
  ...
  FSTP [i_number]       ; not warn! not correct DWORD result!
----------------------------
MASM32 v9 not allow detect what parameter in MACRO is constant
  TYPE stoped compilation with forward-referenced
    My_Const_1 = 123
    TYPE My_Const_1   ; This normal works
    TYPE My_Const_2   ; Stoped compilation !!!
    My_Const_2 = 456
  OPATTR entirely not detect of constants:
    My_Const_1 = 123
    My_Const_2 equ 456
    OPATTR <My_Const_1> ; returned 0 !
    OPATTR <My_Const_2> ; returned 0 !
    OPATTR 678          ; returned 0 !
  IFDEF \ IFNDEF account defined (!) constants is not defined:
    My_Const_1 = 123
    IFDEF  <My_Const_1> ; not works ! <- all on the contrary!
    IFNDEF <My_Const_1> ; works !
----------------------------

Wistrik

#1
Assembly Language requires the programmer to do his own type-checking, which in my opinion creates better coding habits.

I have no comments on the macros, since I haven't taken the time to write my own. They do work, however, as many people here use them successfully.

hutch--

Hi Mur,

Welcome on board, sorry to be a bit slow but I have been buried head first in hardware for the last few days. ML.EXE is written by Microsoft and that is where the error reports should be pointed but as is usually the case, they tend to modify and maintain the stuff that is still currently used and opcodes like .UNTILCXZ are into the "Don't care" range as they are out of date opcodes.

The macros you have designed look fine and should work well if you still want to use the older opcodes in your code but most use the simpler stuff just to unclutter code and write any serious stuff using mnemonics.

While I certainly support the pseudo high level syntax where it will produce clear easy to read code, not all of it does and I would hate to see the irritations of high level hand holding infiltrate its was into assembler programming as it would lose much of its appeal in terms of architectural freedom and original design.
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php