An Arithmetic Logic Unit (ALU) implementation in 8086 Assembly Language that enables users to input numerical values, select desired arithmetic operations, and obtain the results. This program can perform basic arithmetic functions such as addition, subtraction, multiplication, and division, as well as advanced operations like modulus, squaring, and cubing. It also supports binary operations such as bitwise shifts, including rotate left (ROL) and rotate right (ROR), for enhanced data manipulation and flexibility in computation.
ALU_Computation_8086
The aim of this project is to apply the concepts and knowledge of assembly language in a practical setting. It leverages what I've learned about various assembly instructions and applies them to the project. This allows me to gain a deeper understanding of instruction operations and assembly language coding using the EMU8086 emulator.
The calculator I've built performs simple mathematical operations such as addition, subtraction, multiplication, and division. It can also change a number's sign with the NEG operation, find the modulus, and conduct binary operations like OR, AND, XOR, and NOT. Additionally, it supports bitwise rotation operations (ROL and ROR), and can calculate the square and cube of a given number.
I used EMU8086.inc Library which provides built in functions such as:
print ‘STRING’ – For printing String
scan_num – For taking Integer Input
print_num – For displaying value stored in register
printn – For printing New Line
0dh and 0ah as well as print10 and print13 can also be used to move to new line.
EMU8086 emulator code interface
Assembled code interface
Output interface
Addition Operation (+)
Rotate left [ROL] Operation (<-)
And Operation (&)
Halted interface
Thank You!! (end interface)