DUO LIGHT ASSEMBLY LANGUAGE Variables are declared with the following syntax: B (size) (variable name) Labels are declared with this syntax: L (label name) Functions are declared like so: F (function name) (variable name) (variable name)... [ (code) ] An argument is formatted in the following way: (operator) (size) (:?) (size argument?) (values or value argument) The list below shows all possible operators: # = number constant @ = absolute address % = offset from global scope $ = offset from local scope PC = program counter GS = global scope LS = local scope Size may be between 0 and 7 inclusive. Size argument must be provided if size is zero (and operator is neither PC, GS, nor LS). Value argument is loaded if colon (":") is present after size. A value may be one of the following: - Decimal number - Hexadecimal value - Variable name - Label name - Function name - Text literal (characters enclosed by quotation marks) Decimal number values must be formatted in the following way: D (number of bytes) (decimal value) Hexadecimal number values must be formatted in the following way: H (hexadecimal value) Note that variable and argument sizes should be represented by a single decimal number without "D" or number of bytes. An value may appear inline like so: C (value)