Explore BrainMass

assembly language program

This content was STOLEN from BrainMass.com - View the original, and get the already-completed solution here!

I need help with completing the following specification for an assembly language program. This is a practice question. This is part of an overall assignment that I am stuck at.

The program needs to check the current disk drive and report:

? The drive letter which would normally be assigned by DOS
? The amount of used space on the disk
? The amount of free space on the disk
? An indication that disk reorganisation is advised if the free space falls below 10% of the total available space.

Any naming conventions for program labels, sub-programs, variable names etc can be used.

Please could each line in the source code be documented with a remark explaining what it does so that I can understand it.

I would like the program to include:

? Data transfer
? Arithmetic & logical operations
? Conditional and unconditional branching
? Immediate, direct and indexed memory addressing
? Sub-programs, macros and function calls
? The program once assembled should operate as a .COM file

Thanx this will be a great help in trying to understand this.

© BrainMass Inc. brainmass.com October 24, 2018, 6:33 pm ad1c9bdddf

Solution Preview

Dear Student,
I have submitted a solution. I spent quite amount ...

Solution Summary

An assembly language program is devised.

See Also This Related BrainMass Solution

An Assembly Language Program

Design and write an assembly language program for the MARIE processor that counts the number of occurrences of a particular word value in an array of words.

This program must perform the required function and must satisfy the following requirements.

a) The first instruction of the program must be placed at location (address) 0x100 (100 hexadecimal) in MARIE's memory.

b) Use constant data values (One, Words, Key, and Base) that should not be changed by the program. The program can load from these memory locations, but should not store to them. The array of word values that are to be processed by the program should be in successive memory locations beginning at location Array. The program should not change any of the data values in the array. These values should all be "hard-coded" into the program. Ensure that you set the value in location Base depending on where the assembler places the array, as indicated in the listing file.

c) The program should work for any value in location Words and Key and for any set of values in the array of words, not just those provided in your solution, so test the program thoroughly with different values. The value in location Words must be greater than or equal to 1.

d) The program must place the final value for the count of matching words in location Match.

e) The program must use a loop and indirect addressing to access the values in the array of words. Use meaningful loop variables names like Ptr, Cnt, and Match in the loop.

f) The program should always initialize the values for Cnt, Ptr, and Match in the working data memory and not rely on the values for these locations that are defined in the assembly source file.

View Full Posting Details