Write an 8086 assembly program, Assembly Language

Assignment Help:

Project Description:

Write an 80x86 assembly program that performs the following functions:

  • Reads a set of integers from a file into an array. The data file name is to be read from the command line. You are welcome to use the code examples and macros to do this project.
  • Format of the data file: Assume the file gives the number of data points on the first line. Every line following the first line contains exactly one value. The maximum number of integers in the file will be 1000, so a max of 1001 lines.
  • Add all the integers that you have read and print out the sum on the screen as well as the greatest and the smallest integer in your array.

Your code must be modular. You must use subroutines/functions for opening the file, reading integers, and populating the array, performing calculations, and printing the array. Except for constants, all values/addresses must be pushed/popped onto the stack. It is not recommended implementing your entire program in Main first and then porting to subroutines.
The max grade you can earn not using subroutines correctly is a 60%.

You should use the following C Functions for your project: fopen, fscanf, fclose, printf

Turning in your program

Use the UNIX submit command on the GL system to turn in your project. You must submit the assembly language program as lab2.asm. The class name for submit is cmpe310. The name of the assignment is lab2. Check the submit help on the webpage. Due to any reason if you are going to submit your project late, the project name will be late. You are also required to turn in a hardcopy of the code and a write-up in the class. You must include a lab cover page in the hardcopy.
The submission should include:-

1. lab2.asm

2. common_code.asm (contains any example code or macros)
Your code must be able to run with what you submit.
You must also turn in to class a project report. The report includes:

1. Cover page (see Blackboard)

2. Typed report with a project description and a general flow of the code. Also, define functions, variables, and labels used in the program. Write the report to an audience that does not necessarily understand assembly.

3. Enscripted code
Failure to follow the submit guidelines will result in a points deduction.


Related Discussions:- Write an 8086 assembly program

Instructions, Difference between div and idiv

Difference between div and idiv

Introduction to evaluation, This unit introduces the topic of evaluating in...

This unit introduces the topic of evaluating interactive products. It is a short unit as evaluation is discussed in more detail in Block 4. Its brevity should give you additional t

Dec-micro processor, DEC : A powerful new Alpha 64 bit RISC computer ch...

DEC : A powerful new Alpha 64 bit RISC computer chip was introduced in the year 1977, as new VAX (Virtual Address Extension) Computer. The VAX was 32 bit computer line based on

Assembler directives and operators-microprocessor, Assembler Directives and...

Assembler Directives and Operators The major advantage of machine language programming is directly that the memory control is in the hands of the programmer, so that, he can be

Nible, calculate the number of one bits in bx and complement an equal numbe...

calculate the number of one bits in bx and complement an equal number of least significant bits in ax hint use the xor instruction

Opcode-microprocessor, Opcode : The opcode generally appear in the firs...

Opcode : The opcode generally appear in the first byte.but in a few instructions, a register objective is in the first byte and few other instructions may have their 3-bits of

Internal architecture of microprocessor, Internal Architecture of Microproc...

Internal Architecture of Microprocessor : The architecture of 8086 provides a number of improvements over 8085 architecture. It supports a, a set of 16-bit registers ,16-bit AL

Declare a constant in assembly language, Declare 1 constant. This can be do...

Declare 1 constant. This can be done just below the prototype section. Put the following divider above the constant section. ;************************ Constants ****************

Selecting array elements, implement the following c++ code in assembly lang...

implement the following c++ code in assembly language using the block-structured .IF and .while directives

8088 timing system diagram-Microprocessor, 8088  Timing System Diagram ...

8088  Timing System Diagram The 8088 address/data  bus is divided  in 3 parts (a) the lower 8 address/data  bits, (b) the middle 8 address bits, and (c) the upper 4 status/

Write Your Message!

Captcha
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