Data Structures
1. Symbol Table: Maps labels to memory addresses, used during branching and memory references. Typically, a hash table or an array of structs
2. Instruction Table: Maps assembly mnemonics (e.g., ADD, SUB) to opcodes and formats. It is static array or dictionary for quick lookup
3. Literal Table: Stores constants and literals defined in the code, assigning addresses for usage. It is Similar to the symbol table but focused on immediate values
4. Location Counter (LC):Tracks the memory address where the next instruction or data will be placed.
5. Opcode Structure:Encodes instruction fields, such as the opcode, register values, and operands, in a bitwise format.
The ARM architecture typically uses a two-pass assembly process to translate assembly code into machine code, ready for the linker. This is similar to other assembler designs like the SIC assembler but optimized for ARM-specific features