В синтаксисе Intel круглые скобки предназначены для группировки, как в математике. Это сделано потому, что
ds:dword_16C6 - 16B2h[esi]
может быть интерпретировано как
(ds:dword_16C6) - (16B2h[esi])
что не имеет никакого смысла.
В синтаксисе AT & T вместо группировки используются квадратные скобки.
Другими словами, это сложный способ написания ds:[esi + dword_16C6 - 16B2h]
, или ds:dword_16C6[esi - 16B2h]
, которые также являются допустимым синтаксисом MASM (я думаю).
Кто-то может сказать, что он излишне сложен, но он дает согласованность с синтаксисом symbol[index]
, который этот дизассемблер использует для режимов адресации символов + регистров.