Binary and Hex to LC3 Translator

Convert Binary and Hex to LC3

For university we have been learning assembly specifically that for the LC3 architecture. Alot of our program requires us to translate binary and hex to LC3. This takes very long to do by hand and so in order to save time I built a python program which does it automatically. Majority of the program is just print statements and if statements however long run it can save alot of time.

Where to find the program

The program can be found on my github. If you have anything to add you are more then welcome to and any problems with the program that need fixing please let me know.

What is LC3

LC-3 (Little Computer 3) is a simple, 16-bit computer architecture designed for educational purposes. It was developed by Dr. Yale Patt at the University of Texas at Austin as a teaching tool for computer organization and architecture courses.

The LC-3 architecture consists of a 16-bit processor, with a small set of instructions for performing basic operations such as arithmetic, logical operations, branching, and memory access. It has a small memory space (2^16 = 65536 words), with each word being 16 bits wide. The LC-3 also has a few registers, including an accumulator (R0), a general-purpose register (R1), and a program counter (PC).

The LC-3 architecture is often used in introductory computer science and engineering courses to teach students about computer organization and architecture, as well as assembly language programming. Students can write and run programs on the LC-3 using its assembly language, which is a low-level language that is directly translated into machine code for the LC-3.

There are also a number of resources and tools available for learning and working with the LC-3, including an emulator and a simulator, as well as textbooks and online tutorials.

Why should you learn LC3 Assembly

There are several benefits to using the LC-3 (Little Computer 3) architecture in education and research:

  1. Simplicity: The LC-3 architecture is designed to be simple and easy to understand, making it an ideal platform for teaching computer organization and architecture. It has a small set of instructions and a small memory space, which helps students focus on the fundamental concepts without being overwhelmed by complex details.
  2. Pedagogy: The LC-3 was specifically designed as a teaching tool, with a focus on pedagogy. It includes a number of features that make it well-suited for use in the classroom, such as a simple assembly language and a simulator that allows students to write and run programs without having to use physical hardware.
  3. Versatility: The LC-3 can be used to teach a wide range of topics, including assembly language programming, computer organization and architecture, and computer systems. It is also a useful platform for research in these areas.
  4. Community: There is a large and active community of educators, researchers, and students who use the LC-3, which provides a wealth of resources and support for those learning or working with the architecture.

Overall, the LC-3 is a useful and widely-used tool for teaching and learning about computer organization and architecture, and is an effective platform for research in these areas.

The LC3 machine we emulate