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

  Develop a program that will implement conditional statement

EECS 2110- Using the MARS or SPIM simulator develop a program that will implement the following conditional statement. Write a program with a leaf subprogram that will take two values in $a0 and $a1 and compute their greatest common divisor.

  Write a program that declares a string in the data section

Write a simple Assembly Language program that declares a string in the data section. Write a program that converts the string to all lower-case characters.

  Program the control unit for an electronic safe

Program the control unit for an electronic safe. The 8-Segment display and LEDs will show status of the safe.

  Explain the register-displacement addressing mode

Explain the register-displacement addressing mode. What stands for PC-relative addressing mode? Perform the binary addition and provide the decimal value.

  Execute the command in hex and print the command

For each of the following commands, first execute the command in hex and print the command and the result. Then execute it again in binary and print it.

  Write a program to copy inta to intb in reverse order

Write a code block to compute the individual summation per each column, per each row and the overall summation of chA and write a program to copy intA to intB in reverse order

  Write codes to implement the expression

Write codes to implement the expression: A= (B + C * D - E) on 3-, 2-, 1- and 0-address machines. Write a MARIE program to calculate Fib(n)

  Write two-pass assembler for subset of mips instruction set

Write a two-pass assembler for a subset of the MIPS instruction set. It should be able to read an assembly file from the command line and write the object code to standard output.

  A basic home security system in assembly for an 8051

A basic home security system in assembly for an 8051. needs to have keypad for code and 3 sensors with a panic button.

  How is ld instruction converted in machine language

LC3 -Convert the above in machine language. How is LD instruction converted in machine language?

  Assignment - real practical calculator code

The assignment a real practical calculator code. Want to the code written in assembly and commented. Want to code to be written for atmega16 and an LCD 16x2

  Create a basic i-o (input/output) library of subroutines

For this lab, you will create a Basic I/O (input/output) Library of subroutines. There are 7 subroutines in this library, 4 of which you must write. The lowest level routines have been provided for you and are in the file BasicIO.asm. They are:

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