emuARM: A tool for teaching the ARM assembly language

Technology has always enhanced learning as well as the overall teaching experience. With proper tools and resources in hand, we can easily integrate educational and information technologies into the academic environment. In this paper, we present a software tool to enhance the learning of microprocessors and computer architecture for students. We have developed an ARM instruction set emulator, emuARM, which is a Java based software tool for duplicating the functions of an ARMv5 microprocessor. Here, we present the internal design and features of emuARM. We present a comparison of the features of emuARM with other present ARM emulators in the market. At the end, we present the results of a survey that attests the pedagogical value of our tool.