Analyse and solve computing problems

Assignment Help Other Subject
Reference no: EM133694191

Programming Studio

Overview
This assignment will assess learning goals in computer architecture, focusing on assembly code programming.

The tasks include:

Writing programs in LC-3 assembly language to demonstrate your understanding of loops, branches, subroutines, two's complement, and traps.
Converting between hexadecimal, binary and assembly representations of an LC-3 program.
Simulating a computer architecture via an existing Little Computer 3 (LC-3) virtual machine, written in C++.
Configuring all the required development tools (Minecraft Java Edition, Visual Studio Code
+ LC-3 extension, laser, Git, etc.)

Learning Outcome 1: Analyse and solve computing problems; design and develop suitable algorithmic solutions; implement and debug algorithmic solutions using modern skills and practices in the C++ programming language.

Learning Outcome 2: Apply fundamentals of computer architecture, operating systems, and system deployment to the design and development of medium-sized software applications.

Learning Outcome 3: Demonstrate skills for self-directed learning, reflection, and evaluation of your own and your peers work to improve professional practice.

The aim of this assignment is to hone your LC-3 programming skills, using the game Minecraft as a testbed. This section will get you started with creating an LC-3 development environment and understanding how to write LC-3 programs that interact with Minecraft.

Communicating with Minecraft via LC-3.
LC-3 is a simple language that offers no native way of communicating with Minecraft. To get around this, we have provided a modified LC-3 virtual machine that contains additional TRAP routines for this purpose. The additional TRAPs are summarised in the table below.

Notes:
TRAP 0x36 (printRegisters) is provided for debugging purposes, since unlike the LC-3 web simulator shown in class, the virtual machine included with the starter code does not provide an easy way of inspecting the register values.

Function arguments and return values are passed via the registers. For example, TRAP 0x35 (getHeight) assumes that the x and z arguments are passed via registers R0 and R2 respectively and outputs the return value to R1.
For this assignment, you must not modify the provided virtual machine in any way. The only files in the starter repo that you should edit are the *.asm files and README.md.


LC-3 Programming Challenges
Write an LC-3 assembler program that checks whether the player is within a certain Manhattan distance of a specified "goal" point.
Place your code in the assembly file "manhattan_dist.asm".
The assembly file contains predefined constants, G_X, G_Y and G_Z, that specify the position of the goal point.
An additional predefined constant, GOAL_DIST, specifies the distance bound to be checked. You may assume that GOAL_DIST > 0.
The Manhattan distance between the player and the goal point is given by: dmanhattan = |(playerPos.x - G_X)| + |(playerPos.y - G_Y)|+ |(playerPos.z - G_Z)| If this inequality is met, the program should output "The player is within Manhattan
distance of the goal" to Minecraft chat. Otherwise, it should output the following string to the Minecraft chat: "The player is outside the goal bounds".

Write an LC-3 assembler program that converts a number stored in memory into its binary representation in the Minecraft world.
Place your code in the assembly file "write_binary.asm".
The number to convert is specified in the LC-3 starter file as NUMBER_TO_CONVERT.
You can assume that the number to convert will always be non-negative.
Use air (block ID #0) to represent zeroes and stone blocks (block ID #1) to represent 1s.
The least significant bit should be written to (playerPos.x + 1, playerPos.y, playerPos.z).
The next bit should be written to (playerPos.x + 2, playerPos.y, playerPos.z) and so on (see Figure 1 for a visual explanation).
Since the word size in LC-3 is 16 bits, your program should always output 16 blocks, writing extra zeroes as air blocks if necessary.


Write an LC-3 assembler program that reads two 16-bit binary words from the Minecraft world (formatted as in Problem 2 above) and adds them together, writing the answer to the Minecraft world in binary.
Place your code in the assembly file "binary_addition.asm".
The first number should be read from a line of 16 blocks starting at: (playerPos.x + 1, playerPos.y, playerPos.z+1)
and extending to:
(playerPos.x + 16, playerPos.y, playerPos.z+1)
The second number should be read from a line of 16 blocks starting at: (playerPos.x + 1, playerPos.y, playerPos.z + 2)
and extending to:
(playerPos.x + 16, playerPos.y, playerPos.z + 2)
The result should be written to a line of 16 blocks starting at: (playerPos.x + 1, playerPos.y, playerPos.z + 3)
and extending to:
(playerPos.x + 16, playerPos.y, playerPos.z + 3) See Figure 2 below for a visual explanation.

Attachment:- Programming Studio.rar

Reference no: EM133694191

Questions Cloud

Demonstrate your understanding of language and communication : ECE6011 Languages of Children, Victoria University Design, prepare and present 3 x Invitations to Play drawing on content of the unit material and journal
What is the importance of cultural and heritage management : RIICWD535E Prepare detailed design of civil timber structures, and What is the importance of cultural and heritage management in designing civil timber
Develop a new interactive system : 32555 Fundamentals of Software Development, University of Technology Sydney, develop a new interactive system. The system should offer access to two interactive
Prompt to control and test your implementation : Implementation of three classes, namely Node, LinkedList, and Browser. For each class, you are provided with the header file and skeleton implementations
Analyse and solve computing problems : COSC2804 Programming Studio, RMIT University - Analyse and solve computing problems; design and develop suitable algorithmic solutions; implement and debug
Fitted sarima models to the two time series : Fitted SARIMA models to the two time series, Data-driven Decision Making and Forecasting - Compare fitting a SARIMA model to fitting an ARMA model to residuals
Obtained residuals from prophet models : Obtained residuals from Prophet models and provide plots of the time series and predictions, Fitting and evaluating ARIMA and VAR time series models Assessment
Plot of the time series and predictions : Provide the acfs of the residuals, Plot of the time series and predictions and Obtain residuals from Prophet models and fit ARMA models to these residuals
Advantages and disadvantages of arma and sarima model : Discuss the advantages and disadvantages of the ARMA model and SARIMA model, Obtain residuals from Prophet models and fit ARMA models to these residuals

Reviews

Write a Review

Other Subject Questions & Answers

  Cross-cultural opportunities and conflicts in canada

Short Paper on Cross-cultural Opportunities and Conflicts in Canada.

  Sociology theory questions

Sociology are very fundamental in nature. Role strain and role constraint speak about the duties and responsibilities of the roles of people in society or in a group. A short theory about Darwin and Moths is also answered.

  A book review on unfaithful angels

This review will help the reader understand the social work profession through different concepts giving the glimpse of why the social work profession might have drifted away from its original purpose of serving the poor.

  Disorder paper: schizophrenia

Schizophrenia does not really have just one single cause. It is a possibility that this disorder could be inherited but not all doctors are sure.

  Individual assignment: two models handout and rubric

Individual Assignment : Two Models Handout and Rubric,    This paper will allow you to understand and evaluate two vastly different organizational models and to effectively communicate their differences.

  Developing strategic intent for toyota

The following report includes the description about the organization, its strategies, industry analysis in which it operates and its position in the industry.

  Gasoline powered passenger vehicles

In this study, we examine how gasoline price volatility and income of the consumers impacts consumer's demand for gasoline.

  An aspect of poverty in canada

Economics thesis undergrad 4th year paper to write. it should be about 22 pages in length, literature review, economic analysis and then data or cost benefit analysis.

  Ngn customer satisfaction qos indicator for 3g services

The paper aims to highlight the global trends in countries and regions where 3G has already been introduced and propose an implementation plan to the telecom operators of developing countries.

  Prepare a power point presentation

Prepare the power point presentation for the case: Santa Fe Independent School District

  Information literacy is important in this environment

Information literacy is critically important in this contemporary environment

  Associative property of multiplication

Write a definition for associative property of multiplication.

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