Skip to content

QabasAK/8086-Quiz

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Customizable Quiz Game in 8086 Microprocessor using emu8086

This project is an interactive quiz game developed in 8086 assembly. The game focuses on computational complexity and the P vs. NP problem, offering a multiple-choice question (MCQ) format with features like user authentication, random question shuffling, case-insensitive input, a personalized timer, and a session-persistent leaderboard.

Demo

The features implemented in the quiz system:

  • User Authentication: Supports three hard-coded username-password pairs with three login attempts before termination.
  • Quiz System: Includes five MCQ questions on computational complexity, shuffled randomly per session using a BIOS system clock seed.
  • Case-Insensitive Input: Accepts answers in both uppercase and lowercase.
  • Personalized Timer: Each question has a 12-second timer based on the last digit of my university ID, using BIOS-based delays.
  • Score Tracking & Leaderboard: Tracks scores per user and displays a leaderboard at the end of the session.
  • Modular Design: Utilizes helper procedures like Newline, Peep, and Comparison to ensure clean and reusable code.

Program Structure

Data Segment

The data segment stores all static and dynamic information required by the program. The following showcases the structure for each username-password pair, MCQ question as well as reading input.

UserX db "Name" , 0
PassX db "Pass00" , 0

Qx db ’ Qx : What does it mean ... ?$’
QxA db ’A . ... $’
QxB db ’B . ... $’
QxC db ’C . ... $’
QxD db ’D . ... $’

QxSolC db ’Y’ , 0
QxSolS db ’y’ , 0
QxIn db 2 Ah , 0 , 2 Ah dup ( 0 )
QxUserAnswer db 3 dup ( 0 )

Flowchart

The flowchart illustrates the logical sequence of the quiz program, from user authentication to quiz completion and leaderboard display.

Flowchart

This project demonstrates the power and complexity of 8086 assembly programming through an interactive quiz game. It integrates low-level concepts like BIOS interrupts, memory management, and timing analysis, making it a valuable educational tool for microprocessor studies.

About

An 8086 assembly quiz game on computational complexity, featuring user authentication, randomized MCQs, case-insensitive input, a 12-second timer, and a leaderboard. Built with BIOS interrupts and modular code, runs on 8086 emulators.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors