In GNU as
(the GNU assembler), the following code assembles without error:
mov $(80 * 24 + 4), %cx
However, this code does not:
mov $(80 * 24 / 4), %cx
Emitting the highly unexpected error:
example.S: Assembler messages:
example.S:42: Error: unbalanced parenthesis in operand 1.
The only difference is that the latter uses division, instead of addition. This should be valid, according to the manual.
($<expression>
embeds an immediate into the assembled output; i.e., a constant. The arithmetic is performed at "compile-time". I could work out the math, but it makes more sense in its expanded form.)