ICS 312 TA Homepage Fall 2009

General Information

TA:Jade Cheng  成玉  (yucheng@hawaii.edu)
Instructor:David Pager (pager@hawaii.edu)
Course:Machine-Level and Systems Programming
TA Office:POST Building Room 303-3 (cubicle 3)
TA Hours:Tuesday 11:00 to 12:00
Thursday 11:00 to 12:00

Course Requirements

TBD

Homework Assignments

If you do not complete homework assignments sufficently, you would automatically fail the course. Otherwise, homework does not affect your grades. Homework submissions will be recorded and posted on this site using the student codes provided by the TA.

Please submit your homework assignments by 11:59 pm on the posted due date. Homework received on time will receive 10 points. One point will be deducted for late submissions. After one week homework will not be accepted.

To facilitate the grading process, please try to follow the following guidelines when submitting assignments.

  1. Email submissions

    Assignments should be submitted via email using your UH UNIX email account. The TA will not accept any other form of submissions.

  2. “To” field of email

    Assignments should be submitted to yucheng@hawaii.edu. Please do not send the assignments to the professor.

  3. “Cc” field of e-mail

    Please cc the email to youself. That way, if the TA doesn’t get your email for some reason, you have proof that it was sent.

  4. Subject of email

    Please use the following pattern for the subject of your email.

    [312] homework number

    For example: [312] homework 1

  5. Body of email

    Please copy and paste the contents of the homework in the email body. That way, the TA will receive your work even if the attachment is rejected.

  6. Attachments

    Plain text files are preferred. PDF, JPG, and PNG files are also accepted. Please do not send Microsoft Office documents.

  7. Multiple submissions

    You may submit an assignment more than one time. Only the most recent assignment submitted will be evaluated.

Grades

The grades for homework assignments, programming projects, in-class quizzes, and the exams will be posted using the student codes provided by the TA. If you lose or forget your code, please contact the TA.

Click your student ID to view your grades.

Homework and Quiz Solutions

The solutions of some of the homework assignments and the in-class quizzes will be posted in this section. Since late submmisions are allowed, the solutions will not be available until a couple of weeks after the due date.

hw-16.asm

;; This program draws a large red square (color code 4) in the text mode.
        .model      small
        .stack      100
        .data
count   dw          ?
x       db          29
y       db          6
        .code 
prog    proc  
        mov        ax, @data
        mov        ds, ax

        mov        ah, 0h       ; clear up screen
        mov        al, 3h
        int        10h

        mov        ah, 2h       ; cursor function
        mov        dl, [x]      ; starting column, 1
        mov        dh, [y]      ; starting row, 1
        mov        bh, 0        ; page 0
        int        10h

        mov        ah, 9h       ; display
        mov        cx, 1        ; draw one char at the top left corner
        mov        bl, 4        ; color attribute code
        mov        al, '+'      ; draw a '+'
        int        10h

        mov        ah, 2h       ; cursor function
        inc        dl           ; next colum, 2
        int        10h

        mov        ah, 9h       ; display
        mov        cx, 20       ; draw a length of 20 for the top edge
        mov        al, '-'      ; draw '-'s
        int        10h

        mov        ah, 2h       ; cursor function
        add        dl, 20       ; go to the top right corner
        int        10h

        mov        ah, 9h       ; display
        mov        cx, 1        ; draw one char at the top right corner
        mov        al, '+'      ; draw a '+'
        int        10h

        mov        ah, 2h       ; cursor function
        sub        dl, 21       ; back to the starting column
        inc        dh           ; next row
        int        10h

        mov        [count], 10
sides:
        cmp        [count], 0   ; draw 'count' times of '|'s
        je         done_sides
        dec        [count]      ; decrement loop counter

        mov        ah, 9h       ; display
        mov        cx, 1        ; draw one char at a time
        mov        al, '|'      ; draw '|'s
        int        10h

        mov        ah, 2h       ; cursor function
        add        dl, 21       ; go to the right edge side
        int        10h

        mov        ah, 9h       ; display
        mov        cx, 1        ; draw one char at a time
        mov        al, '|'      ; draw '|'s
        int        10h

        mov        ah, 2h       ; cursor function
        inc        dh           ; go to the next row
        mov        dl, [x]      ; back to the left column
        int        10h
        jmp        sides
done_sides:

        mov        ah, 9h       ; display
        mov        cx, 1        ; draw one char at the bottom left corner
        mov        al, '+'      ; draw a '+'
        int        10h

        mov        ah, 2h       ; cursor function
        inc        dl           ; go to the next column
        int        10h

        mov        ah, 9h       ; display
        mov        cx, 20       ; drw a length of 20 for the bottom edge
        mov        al, '-'      ; draw '-'s
        int        10h

        mov        ah, 2h       ; cursor function
        add        dl, 20       ; go to the bottom right corner
        int        10h

        mov        ah, 9h       ; display
        mov        cx, 1        ; draw one char at the bottom right corner
        mov        al, '+'      ; draw a '+'
        int        10h

        mov        ah, 1        ; wait for a key to be pressed
        int        21h

        mov        ax, 4c00h    ;4c in ah is dos exit fn with return code in al
        int        21h
prog    endp
        end         prog

Links

Valid HTML 4.01 Valid CSS