Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/pialghosh2233/8086_assembly_project

an ATM machine system simulation using assembly language
https://github.com/pialghosh2233/8086_assembly_project

8086 8086-architecture 8086-emulator 86-assembly assembly assembly-8086 assembly-language assembly-project assembly-x86 cpu-emulator emu8086 emulator emulator-8086 intel mips mips-assembly

Last synced: about 1 month ago
JSON representation

an ATM machine system simulation using assembly language

Awesome Lists containing this project

README

        

This project involves creating a simple ATM system simulation using assembly language (specifically for the x86 architecture). The program is designed to run on DOS and utilizes DOS interrupts, primarily INT 21H, for basic input/output operations.

Key features of this banking system include:

Role Selection: Users can choose between two roles at the start of the program: a general user (customer) or a bank employee.

Authentication: Both users and employees are required to enter an ID and a password. The system checks these credentials against predefined lists to authenticate the individuals.

User Functions:
Authenticated users have the options to:
Withdraw money, after checking if the account balance is sufficient.
Check their current account balance.
Exit to the main menu to possibly re-login or switch roles.
Employee Functions: Authenticated bank employees can:
Access the account balance of any user by entering the user’s ID.

Error Handling: The system includes basic error handling for incorrect ID or password entries, offering the user or employee options to try again or exit.

Session Management: At various points, users and employees are asked if they want to continue their current session or return to the main menu, enabling repeated operations without restarting the program.
This project illustrates fundamental programming concepts in assembly such as loops, conditionals, subroutines, and basic memory management, while also showcasing how to manage user input and display outputs. It serves as a basic model for understanding how low-level interactions can be handled in software design.