ICS 331: System Software (981)

Programming Assignment # 1

Date: October  13, 1998                                                                                                                Due Date: November  1, 1998

 

Problem Statement:

Design and implement a mini 2-pass SIC/XE assembler that reads an assembly program, as input, and produces a program listing and
an object program, similar to the one produced in the textbook, as an output. The implementation language is C. The project is a team
project in which each team consists of two students only. Each team member should participate seriously and effectively in the assignment.
The grade will be given to each member based on his contribution.

Detailed Requirements

  1. The developed mini assemblers should be able to handle the following:
  1. All instruction formats (1, 2, 3 and 4).
  2. All addressing modes (PC, Base, Direct, Indirect, Immediate, Indexed and Extended)
  3. The following assembler directives: BASE, BYTE, END, EQU, LýTORG, ORG, RESB, RESW, START, and WORD.
  4. Character and hexadecimal Literals, i.e. =C'character string' or =X'hexadecimal sequence'.
  5. Program relocation.
  1. The assembler should read an input file "xxxx.sic" and produce two files: a listing file "xxx.lst" and an object file "xxx.obj". The output file
    should be similar to the ones in the textbook.

Deliverable

Each team should submit, on the due date of the assignment, the following:

  1. A detailed algorithm of the assembler developed similar to the one shown in the textbook on pp.53-54. The algorithm should be typed.
  2. Extra marks will be given for a flowchart of the algorithm using any drawing application such as ABC Flow Charter of Visio.
  3. A print out of the "C" code for the assignment together with the input file and the output file. The program should be used and tested with
    the input program in Figure 2.9 on pp. 67 in the textbook.
  4. An electronic copy of the items in (1) above in a 3.5 floppy disk.
  5. The team may be asked to make a demo of their system.

              Programming Assignment #1 Grades

Design

Implementation

#

ID. #

Algorithm

Flowchart (Bonus)

Functionality

Coding

Documentation

Total

1

920274

0

0

20

20

7

47

2

925862

0

0

20

20

7

47

3

934615

0

4

937284

0

5

939123

0

6

941649

0

0

10

15

0

25

7

943825

8

0

15

15

0

38

8

947245

0

9

951629

0

0

10

15

0

25

10

951832

0

0

10

15

0

25

11

952168

0

0

10

15

0

25

12

953056

4

0

15

20

0

39

13

953092

4

0

20

20

0

44

14

954231

16

5

15

15

0

51

15

956731

0

0

20

20

0

40

16

965140

16

5

15

15

0

51

17

965167

8

0

15

15

0

38

18

965289

0

0

25

30

3

58

19

968197

0

0

25

30

3

58

Average

41

Max.

20

10

35

35

10

100

Weight

0