| English | Português (Brasil) |
Assignment uses :=:
BackgroundColor := $21;
Counter := $FF;
Enabled := true;
The right-hand side may be:
true or false;byte arithmetic expression;boolean.Both sides must have exactly the same type. There are no implicit conversions. Reading a variable before an earlier assignment is a compilation error. Constants cannot be assignment targets.
An individual record field may be an assignment target and retains its exact declared type. Whole-record assignment is not supported; assign fields individually. See Records.
Value parameters are initialized local copies and may also be assignment targets inside their declaring procedure. Assigning a parameter does not modify the caller’s argument.
Definite-assignment analysis follows structured control flow. The detailed rules for branches, loops, and procedure calls are documented with those constructs.
Assignment diagnostics preserve the earliest primary error:
nes_color value outside $00..$3F;boolean;Whole-program checks such as E3003 run only after statement-level semantic analysis succeeds. See the diagnostics reference for the complete index, explanations, examples, and suggested fixes.
Initialized byte variables can also be changed with
inc and dec.