What's the difference between [BITS 32] declaration and BITS 32, if there is any?
I've seen assembly sources in the wild that uses [BITS 32]
directive. I'm using compiler NASM and at its man pages, I've seen no reference to t开发者_Python百科he need of the brackets, so I compiled my own source without them (just BITS 32
), with no errors, and it works.
Is there any difference from using or not the brackets wrapping compilers directives?
NASM’s directives come in two types: user-level directives and primitive directives. Typically, each directive has a user-level form and a primitive form. In almost all cases, we recommend that users use the user-level forms of the directives, which are implemented as macros which call the primitive forms.
Primitive directives are enclosed in square brackets; user-level directives are not.
http://www.nasm.us/doc/nasmdoc6.html
精彩评论