Problem Statement
"Design and implement an ARM assembler using C programming. This assembler should accept ARM assembly language code as input and convert it into corresponding machine code. The assembler must strictly adhere to the ARM instruction set architecture (ISA) and support various addressing modes, enabling accurate and efficient translation. "
Objectives
Understand the ARM Instruction Set
Gain a solid understanding of ARM instructions, registers, and addressing modes to ensure accurate machine code generation.
Map ARM Instructions to Machine Code
Implement a system to accurately convert ARM assembly instructions into their respective machine code representations.
Support Addressing Modes and Labels
Handle various addressing modes and correctly resolve labels for branching, ensuring the assembler can process complex ARM code.