Closed

Micro Assembly Programming

LISTS OF NUMBERS

INSTRUCTIONS

Write an assembly language program that prompts the user for a list of unsigned hex numbers, stores them in memory (buffer) and then displays the entire list of numbers. The user is prompted for the length of the list at the start of the program. The maximum length of the list is 16 (10 Hex). If the length is given as 0 the program terminates.

The program must use the following procedures:

GETLIST

Gets a list of unsigned hex numbers (words) from the keyboard and stores them in the buffer pointed to by SI. The length of the list is in the CX register. The user is prompted for each number.

Entry: SI - points to buffer to be used to store list (in the Data Segment)

CX - number of items in the list

Registers: All saved except flags.

DISPLAYLIST

Displays a list of unsigned words. SI points to the start of the list and CX contains the length of the list. If the length is zero (0) nothing will be displayed and the procedure returns.

Entry:

SI - start of list (in the Data Segment)

CX - number of items in the list

Registers: All saved except for flags

The report must be handed in at the start of the next lab period. The report should contain a cover page, a brief description of the program, a sample output, a report on testing, (which must in a table) and a conclusions section that includes mention of any known bugs or problems. Attach the printout of the source file. As always, the program must be properly documented.

Notes on how to get started:

1. The DISPLAYLIST procedure will be developed with the teacher in the lab.

2. Use the program from lab 3 as a template.

3. Declare the buffer using the DUP operator, e.g. 100 DUP(?) saves space for 100 items.

4. Use the procedures provided in LIBRARY.OBJ. An extern statement is required to use the procedures in your program. E.g.,

extrn msg:near, hexout:near, hexin:near

5. Declare procedures as follows:

GETLIST PROC NEAR

……………

RET

GETLIST ENDP

6. Use PUSH and POP to save and restore registers.

7. The testing strategy and report will be discussed in the lab.

Skills: x86/x64 Assembler

See more: statement of the problems, sample of cover page, report programming, register cover, programming words, programming statement, programming problems, programming operator, programming library, programming language list, programming keyboard, programming instructions, programming in assembly, problems statement sample, near c programming, library programming, how to write a programming language, how to write a cover page, how to start programming, how to get started programming, how to get started on programming, how to get started in c programming, hex programming, g programming language, get started with c# programming

About the Employer:
( 77 reviews ) Etobicoke, Canada

Project ID: #5406186

8 freelancers are bidding on average $37 for this job

kandamunlabs

Hi, as you can see from my profile I have done lots of MIPS and x86 assembly programming projects. If you choose me, I would like to read some of your labs/notes about this course, so I can follow the same style of More

$50 CAD in 3 days
(1 Review)
3.6
oobretenov

I could help you with this project. . . . . .

$40 CAD in 2 days
(6 Reviews)
3.5
alexeyshentyakov

hi, I can help you --------------------------------------------------------------------------------------------------------------------

$40 CAD in 1 day
(6 Reviews)
3.0
frcaton

I've worked with x86 assembler a great deal of time, i even made a microOS all in assembly for the 8086.

$30 CAD in 2 days
(0 Reviews)
0.0
avkw

Hello! Which platform and compiler is needed? I guess MASM for DOS? I have a wide experience in assembler programming.

$32 CAD in 3 days
(0 Reviews)
0.0
nachimd1985

hi,this is nasir mehmood. i am software engineer and have more than 18 years of development experience in embedded systems, database design, web design, graphics and mobile applications. i have extensive knowledge of w More

$25 CAD in 1 day
(0 Reviews)
0.0
davidgrs

A proposal has not yet been provided

$50 CAD in 1 day
(0 Reviews)
0.0
russprius

extrn msg:near, hexout:near, hexin:near GETLIST PROC NEAR PUSH AX PUSH CX PUSH SI ; SHOW PROMPT FOR NUMBER OF ENTRIES: ;SET UP REGISTERS FOR CALL TO msg CALL msg ;MAY BE 'CALLA' CMP AX,0 ;MAY BE A More

$25 CAD in 1 day
(0 Reviews)
0.0