Skip to content

An ALU built in 8086 Assembly Language takes user input to perform arithmetic operations and data manipulation. It supports addition, subtraction, multiplication, division, modulus, squaring, and cubing. Additionally, it includes binary operations like rotate left (ROL) and rotate right (ROR).

Notifications You must be signed in to change notification settings

princeranjan03/ALU_Assembly

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ALU_Assembly

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.

Title:

ALU_Computation_8086

Objective:

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.

Theory:

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.

Implementation:

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.

Debugging-Test-Run

EMU8086 emulator code interface image

Assembled code interface image

Output interface image

Addition Operation (+) image

Rotate left [ROL] Operation (<-) image

And Operation (&) image

Halted interface image

Thank You!! (end interface) image

About

An ALU built in 8086 Assembly Language takes user input to perform arithmetic operations and data manipulation. It supports addition, subtraction, multiplication, division, modulus, squaring, and cubing. Additionally, it includes binary operations like rotate left (ROL) and rotate right (ROR).

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published