| integer | floating point | character/string | label | segment | |
| db | yes | no | yes | no | no |
| dw | yes | no | yes | yes | yes |
| dd | yes | yes | yes | yes | no |
| dq | no | yes | no | no | no |
| dt | no | yes | no | no | no |
| ( ) | specify evaluation order ofsub-expressions |
| SEG | refers to segment of a variable (16-bit only) |
| - | unary minus |
| + | unary plus |
| ~ | bitwise complement |
| ! | logical not |
| * | multiply |
| / | divide, unsigned |
| /- | divide, signed |
| % | modulous, unsigned |
| %- | modulous, signed |
| + | addition |
| - | subtraction |
| WRT | offset of a variable, from a specific segment |
| >> | unsigned shift right |
| << | unsigned shift left |
| > | greater than |
| >= | greater than or equal |
| < | less than |
| <= | less than or equal |
| == | equals |
| != | not equal to |
| & | binary and |
| ^ | binary exclusive or |
| | | binary or |
| && | logical and |
| || | logical or |
| ( ) | parenthesis |
| SEG, -, +, ~, ! | unary operators |
| *, /, /-, %, %- | multiplicative operators |
| +, -, WRT | additive operators |
| <<,>> | shift operators |
| >l, >=, <, <= | inequality operators |
| ==, != | equality operators |
| & | bitwise and |
| ^ | bitwise exclusive or |
| | | bitwise or |
| && | logical and |
| || | logical or |
| %define | define a constant or function-style macro |
| %undef | undefine a macro |
| %error | display an error |
| %line | set the file and line displayed in error messages |
| %include | include another file |
| %if | conditional which tests fornonzero expression |
| %elif | else-style conditional which tests for nonzero-expression |
| %ifdef | conditional which tests to see if a macro has been %defined |
| %ifndef | conditional which tests to see if a macro has not been %defined |
| %else | else clause for conditionals |
| %endif | end of conditional |
| %assign | Like %define, but evaluates an expression and sets the value to the result |
| %iassign | %assign with a case-insensitive name |
| %idefine | %define with a case-insensitive name |
| %elifdef | else-style conditional which tests to see if a macro has been %defined |
| %elifndef | else-style conditional which tests to see if a macro has not been %defined |
| %ifidn | Case sensitive test for string matching |
| %ifnidn | Case sensitive test for string not matching |
| %elifidn | else-style case sensitive test for string matching |
| %elifnidn | else-style case sensitive test for string not matching |
| %ifidni | Case insensitive test for string matching |
| %ifnidni | Case insensitive test for string not matching |
| %elifndi | else-style case insensitive test for string matching |
| %elifnidni | else-style case insensitive test for string not matching |
| %ifid | test to see if argument is an identifier |
| %ifnid | test to see if argument is not an identifier |
| %elifid | else-style test to see if argument is an identifier |
| %elifnid | else-style test to see if argument is not an identifier |
| %ifnum | test to see if argument is a number |
| %ifnnum | test to see if argument is not a number |
| %elifnum | else-style test to see if argument is a number |
| %elifnnum | else-style test to see if argument is not a number |
| %ifstr | test to see if argument is a string |
| %ifnstr | test to see if argument is not a string |
| %elifstr | else-style test to see if argument is a string |
| %elifnstr | else-style test to see if argument is not a string |
| %macro | start a multiline macro |
| %imacro | start a multiline macro, caseinsensitive name |
| %endmacro | end a multiline macro |
| %rotate | rotate arguments in a multiline macro |
| %rep | start a repeat block |
| %endrep | end a repeat block |
| %exitrep | exit a repeat block prematurely |
| %push | start a new context |
| %pop | end a new context |
| %repl | rename the context at the topeof the context stack |
| %ifctx | test to see if a context is in effect |
| %ifnctx | test to see if a context is not in effect |
| %elifctx | else-style test to see if a context is in effect |
| %elifnctx | else-style test to see if a context is not in effect |
| Attribute | Meaning | Default Value for Partitions | Default Value for Overlays | Default Value for Regions |
| ADDR | Address | 0, or end of previous partition | partition address | overlay address or end of previous region |
| SIZE | Absolute size | unassigned | partition size | unassigned |
| MAXSIZE | absolute size may vary up to this amount | unassigned | partition maxsize | unassigned |
| ROUNDSIZE | absolute size may vary, but will be rounded up to the next multiple of this | 1 | partition roundsize | unassigned |
| FILL | fill value used when absolute size does not match size of data included in region | 0 | partition fill | overlay fill |
| ALIGN | minimum alignment of region | 1 | partition alignment | overlay alignment |
| VIRTUAL | base address for linking the region, when base address does not match the ADDR attribute | unassigned | partition virtual attribute | virtual address of overlay, or end of previous region |
| Overlay | Sections | Base Address Identifier | Base Address |
| RESET | reset | RESETBASE | 0x00000 |
| ROM | code, const, string | CODEBASE | 0x00008 |
| RAM | data, bss | RAMBASE | 0x10000 |
| STACK | stack | STACKBASE (size = STACKSIZE) | 0x20000 ( 0x400) |
| Overlay | Sections |
| .text | code, const |
| .data | data, string, bss |
| Definition | Meaning | Default |
| FILEALIGN | Object Alignment within an executable file | 0x200 |
| HEAPCOMMIT | Amount of local heap to commit at program start | 0 |
| HEAPSIZE | Size of local heap | 0x100000 |
| IMAGEBASE | Base address for the image (used to resolve DLL Address collisions) | 0x400000 |
| OBJECTALIGN | Object alignmed t in memory | 0x1000 |
| STACKCOMMIT | Amount of stack to commit at program start | 0x2000 |
| STACKSIZE | Size of stack for default thread | 0x100000 |