Develop a complete and useful program

Assignment Help Assembly Language
Reference no: EM133105290

Assignment: Using assembly to implement a game

For this exercise you will use your basic assembler programming skills to develop a complete and useful program: a game. For the purpose of this assignment, a game is an interactive computer application in which at least one user (player) influences the outcome via keyboard or mouse input. You are free to choose any game, except for simple text-based games such as "Guess a number"

or Trivia. The game you choose does not have to be overly complex either; we suggest implement- ing a (single-player) Pong game, where the player controls a paddle and tries to prevent the ball from crossing the player's goal line, or something of comparable difficulty. Before you start pro- gramming, we encourage you to ask a lab assistant whether they think your idea is reasonable and sufficient.

Your task is to implement a game, subject to the following requirements:

Requirements

1. Your implementation should implement correctly the rules of the game.

2. Your implementation should display the state of the game. If the rules of the game make it possible, your implementation should display the current progress of the player toward achieving the goal of the game.

3. Your implementation should permanently record the top scores, if the rules of the game allow it. Your implementation should also have an option to display them. A bootable game only needs to store top scores until the next reboot (i.e. they do not need to be written to disk).

4. Your implementation should be able to receive input from at least one player. The input has to come either from the keyboard or from the mouse.

Notes and Hints about solving this assignment

Important: For this extra assignment you should NOT expect content-related help from the lab assistants, that is, you should not expect the lab assistants to debug your code or even to suggest how you should solve the assignment. Instead, this assignment allows you to demonstrate your ability to go beyond the manual (and lab assistant).

Hint #1: Although we are sure you know how to use a search engine and understand the keywords you need to search for this assignment, we would like to give you a hint for writing games in assembly. For the past 15 years, the demo scene and several generations of students around the world have learned much from Denthor's Asphyxia Tutorials.

Hint #2: Bootable game Another option is to make your game bootable, so that it can run without any operating system. This means that you will have access to the graphical (VGA) memory directly, implement interrupt handlers to work with timing and input, and basically be able to (but also have to) do everything yourself. There are no standard libraries either. (So no printf, no exit, no nothing.) These advantages may also be disadvantages.

You do not need to start from scratch in implementing a bootable game. You can use a simple library that we made and that will set up most of the basic things for you. This library switches the processor to 32 bit mode, makes sure you have a stack, and lets you set interrupt handlers. After that, you are basically on your own. Again, many advantages, but these can turn easily into disadvantages.

The "bootlib" library can be found online. It contains a README (which you should read), and an example which you should try. We recommend you work on some Linux distribution, as it is not quite easy to get the compiler/linker working right on Windows or Mac.

Reference no: EM133105290

Questions Cloud

Creation of regional trading blocs : Should international businesses promote or fight the creation of regional trading blocs?
MAC002A Accounting Information Systems Assignment : MAC002A Accounting Information Systems Assignment Help and Solution, Universal Business School Sydney - Assessment Writing Service
What is the break-even point in number of guests : The average contribution per guest for the restaurant is $150. What is the break-even point in number of guests for this restaurant
What the budgeted Cash Available for the month of February : Depreciation expenses are budgeted as $5,000 per month and are included in the above operating expenses. What the budgeted Cash Available for the month
Develop a complete and useful program : Develop a complete and useful program: a game. For the purpose of this assignment, a game is an interactive computer application in which at least one user
What amount is credited to investment income : On January 1, 2020, Guyana acquired 25% of the ordinary shares of an associate for P11, 250,000. What amount is credited to investment income
Explain the accounting procedures for a defined benefit plan : Explain the accounting procedures for a defined benefit plan. What are the disclosures for defined contribution plan & defined benefit plan
Evaluate any five weaknesses in the internal control system : The cheques are then distributed to the employees by cashier. Evaluate any FIVE weaknesses in the internal control system
What is electronic waste : What is electronic waste? Why is electronic waste a concern and are there any solutions?

Reviews

Write a Review

Assembly Language Questions & Answers

  Create a assembly language subroutine

Create a assembly language subroutine MULSUM that takes an array named A containing n bytes of positive numbers, and fills two arrays, array B containing n words and array C containing n long words

  Write a function in linux assembly

Write a function in Linux assembly

  Analog measurements

Prepare an assembly program for the correctly measures the wind direction

  Design a simple digital clock

Design a simple digital clock

  Write an assembly program

Prepare an Assembly program that reads in a number of cents.

  Write an assembly language program

Write an assembly language program for encrypting alphabates of a string

  Greatest common divisor of integers-masm assembly language

Must be done in MASM assembly language: Greatest common divisor of two integers is largest integer which will evenly divide both integers. GCD algorithm involves integer division in a loop.

  Write assembly program-find right admission price to movie

Write the Assembly program to find correct admission price to movie. Price of admission to a movie is $7 for kids (under 12) and $9 for adults.

  Create simple 8-bit alu using add-subtract-shift functions

Create a simple 8-bit ALU. Requirements:The eight functions that you will implement are: add, subtract, and, or, shift left logical, less than, shift right logical.

  Write assembly program print binary representation-integers

Write the assembly program called hw6_ex1, stored in file hw6_ex1.asm. This program must prompt user to enter signed 32-bit integer. Program must print out binary representation of the integer.

  Allot op-codes and add microcode to microprogram

Allot op-codes and add microcode to microprogram of Mic-1 to implement following instructions which are then included with IJVM instruction set.

  Write mips assembly program to read two non-negative numbers

Write MIPS assembly program to repeatedly read two non-negative integers and print integer product and quotient without using multiplication and division instructions.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd