Skip to content

Latest commit

Β 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🏦 Bank Management System

Assembly MASM License

A comprehensive banking management system developed in x86 Assembly language (MASM32) with a user-friendly console interface. This project demonstrates low-level programming capabilities for managing bank accounts, transactions, and administrative operations.

πŸ“‹ Table of Contents

✨ Features

πŸ‘¨β€πŸ’Ό Administrator Panel

  • Account Management

    • Create new customer accounts with unique account numbers
    • View detailed account information
    • Delete existing accounts with confirmation
    • Display all accounts in the system
  • Transaction Operations

    • Deposit funds to customer accounts
    • Withdraw funds from accounts
    • Comprehensive transaction validation

πŸ‘€ Customer Panel

  • Account Operations
    • Secure PIN-based authentication
    • Check account balance
    • Withdraw money with balance verification
    • Transfer funds between accounts
    • Change account PIN

🎨 User Interface Features

  • Animated loading screens with progress bars
  • Color-coded menus and messages
  • Error handling and validation
  • Clear status messages and prompts
  • Professional console-based UI

πŸ’Ύ Data Management

  • Persistent storage using file system
  • Account data structure with proper alignment
  • Support for up to 10 concurrent accounts
  • Real-time data synchronization

πŸ–₯️ System Requirements

  • Operating System: Windows (32-bit or 64-bit)
  • Assembler: MASM32 (Microsoft Macro Assembler)
  • Libraries: Irvine32 Library
  • Processor: x86 compatible processor
  • Memory: Minimum 512 MB RAM
  • Storage: 10 MB free disk space

πŸš€ Installation

Prerequisites

  1. Install MASM32

    Download and install MASM32 from: http://www.masm32.com/
    
  2. Install Irvine32 Library

    Ensure Irvine32.inc and Irvine32.lib are in your MASM32 include/lib directories
    

Build Instructions

  1. Clone the repository

    git clone https://github.com/abdulrafay1402/BankManagementSystem.git
    cd BankManagementSystem
  2. Assemble and Link

    ml /c /coff Bank_Management_System.asm
    link /subsystem:console Bank_Management_System.obj

    Or use a batch file:

    @echo off
    ml /c /coff /Zi Bank_Management_System.asm
    link /subsystem:console /debug Bank_Management_System.obj
    pause
  3. Run the executable

    Bank_Management_System.exe

πŸ“– Usage

Administrator Login

  • Default Credentials:
    • ID: admin
    • Password: 1234

Customer Login

  • Use your assigned account number and 4-digit PIN
  • PIN range: 1000-9999

Navigation

  1. Launch the application
  2. Select from Main Menu:
    • Option 1: Administrator Login
    • Option 2: Customer Login
    • Option 3: Exit System
  3. Follow on-screen prompts for various operations

Sample Workflow

Creating a New Account (Admin):

  1. Login as administrator
  2. Select "Create New Account"
  3. Enter account number (unique positive integer)
  4. Enter 4-digit PIN (1000-9999)
  5. Enter initial balance

Transferring Funds (Customer):

  1. Login with your account number and PIN
  2. Select "Transfer Funds"
  3. Enter recipient account number
  4. Enter transfer amount
  5. Confirm transaction

πŸ“ Project Structure

BankManagementSystem/
β”‚
β”œβ”€β”€ Bank_Management_System.asm    # Main assembly source code
β”œβ”€β”€ accounts.dat                  # Account data file (auto-generated)
β”œβ”€β”€ README.md                     # Project documentation
└── build.bat                     # Build script (optional)

πŸ”§ Technical Details

Architecture

  • Platform: x86 Assembly (32-bit)
  • Model: Flat memory model
  • Stack Size: 4096 bytes

Data Structures

Account Structure:

Account STRUCT
    accountNum   DWORD   0      ; Unique account identifier
    pin          DWORD   0      ; 4-digit PIN
    balance      DWORD   0      ; Account balance in dollars
    active       BYTE    1      ; Active status (1=Active, 0=Inactive)
    BYTE 3 DUP(?)              ; Padding for alignment
Account ENDS

Key Features Implementation

  • File I/O: Binary file operations for persistent storage
  • Memory Management: Efficient struct-based account storage
  • Security: PIN-based authentication with validation
  • UI/UX: ANSI color codes for enhanced visual experience
  • Error Handling: Comprehensive validation and error messages

Color Scheme

  • Main Interface: White on Black
  • Admin Panel: Light Green
  • Customer Panel: Light Magenta
  • Success Messages: Light Green
  • Error Messages: Light Red
  • Loading Animation: Light Blue to Green gradient

πŸ“Έ Screenshots

Main Menu

========================================
         BANK MANAGEMENT SYSTEM        
         Secure Banking Solution       
========================================

            MAIN MENU
          --------------

      1) Administrator Login
      2) Customer Login
      3) Exit System

Loading Screen

[β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ] 100%

Complete! Press any key to continue...

πŸ‘₯ Team Members

This project was developed by:

🀝 Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Development Guidelines

  • Follow consistent code formatting
  • Add comments for complex logic
  • Test all features before submitting
  • Update documentation as needed

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • Irvine32 Library - For providing essential I/O procedures
  • MASM32 - For the assembly development environment
  • Microsoft - For x86 architecture documentation

πŸ“ž Contact

For questions, suggestions, or issues, please:

  • Open an issue on GitHub
  • Contact the team members via their GitHub profiles

Made with ❀️ using x86 Assembly

Β© 2026 Bank Management System Team

About

Bank Management System in x86 Assembly with admin/customer panels, secure transactions, and file-based persistence. Educational project showcasing low-level programming.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages