Skip to content

A mini operating system utilities menu in 8086 Assembly language with Calculator, Reverse String, and File Info.

License

Notifications You must be signed in to change notification settings

GziXnine/Mini_OS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

Mini OS Utilities (8086)

A simple 8086 Assembly language project that simulates a mini operating system utilities menu with three main features: a calculator, string reversal, and file information viewer. Designed for EMU8086.


📝 Features

  1. Calculator

    • Supports addition (+), subtraction (-), multiplication (*), and division (/).
    • Handles single and double-digit results.
    • Validates division by zero.
  2. Reverse String

    • Prompts the user to input a string (up to 50 characters).
    • Outputs the string in reverse order.
  3. File Info

    • Reads a filename from the user.
    • Opens the file and retrieves its size in bytes.
    • Handles file-not-found errors.
    • Works for files up to 65535 bytes.
  4. Menu

    • Clear screen on each option.
    • Provides a simple text-based menu for navigation.
    • Exit option to terminate the program.

💻 Technologies

  • Assembly language (8086)
  • EMU8086 emulator
  • DOS interrupts (int 21h) for input/output and file handling

🖥 Usage

  1. Open EMU8086.
  2. Create a new project and paste the assembly code (.asm file).
  3. Assemble and run the program.
  4. Navigate using the menu:
    • Press 1 for Calculator.
    • Press 2 to Reverse String.
    • Press 3 for File Info.
    • Press 4 to Exit.
  5. For file info, ensure the file exists in the MyBuild folder.

⚙️ Implementation Details

  • Calculator

    • Uses registers AL, CL, BL for storing operands and operation.
    • Supports two-digit results using basic division/modulus logic.
  • Reverse String

    • Uses buffered input (0Ah).
    • Correctly prints characters from the end to the start.
  • File Info

    • Zero-terminates the filename buffer before calling DOS 3Dh.
    • Uses DOS function 42h to move the file pointer and get file size.
    • Prints file size using a 16-bit number-to-ASCII routine (print_number16).
  • Screen clearing

    • Uses BIOS interrupt 10h / 03h to clear screen before displaying menu.

About

A mini operating system utilities menu in 8086 Assembly language with Calculator, Reverse String, and File Info.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published