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-12-2.asm

;; The program uses function 0ah to input a string S from the keyboard.  Check
;; first that this string S is of the same length as 'shout', which is 12, and
;; if is is, use `rep cmpsb` to test whether the string S is identical to the
;; string 'shout'.  If the lengths and contents match, ouput "It is a match",
;; else output "Sorry, try again".
        include pcmac.inc
        .model small
        .stack 100h
        .data
max         db      80
count       db      0
S           db      80 dup (?)
prompt      db      0ah, 0dh, 'Enter a string to compare with "Go Warriors!": $'
shout       db      'Go Warriors!'
confirm     db      0ah, 0dh, 'The string you have entered is the following:  $'
match       db      0ah, 0dh, 'It is a match!$'
mismatch    db      0ah, 0dh, 'Sorry, try again.$'

        .code
prog    proc
        extrn   putdec : near   ; compile with util.lib
        extrn   getdec : near
        mov     ax, @data
        mov     ds, ax

start:
        _putstr prompt          ; prints a prompt for keyboard input
        mov     ah, 0ah         ; call 0ah function
        lea     dx, max
        int     21h
        cmp     count, 12       ; compare the input length with 12
        jne     try_again       ; try again if not the same
        push    ds
        pop     es              ; initialize es
        cld                     ; set df = 0
        lea     si, shout       ; source
        lea     di, S           ; destination
        mov     cx, 12          ; 12 bytes intotal to compare
        repe    cmpsb           ; repeat while string match
        jne     try_again       ; try again if mismatch is found
        _putstr match           ; otherwise print out math message and exit
        jmp     done

try_again:
        _putstr mismatch        ; print try again message and start over
        jmp     start

done:
        mov         ah, 4ch     ; return code into ah
        int         21h         ; function code for exit to os
prog    endp
        end         prog

Links

Valid HTML 4.01 Valid CSS