## SSE2030: Introduction to Computer Systems (Fall 2016)

### [Assignments]

- PA scores
- If you have any opinions on scores, please email to TA until 12/19 (ertw9622@gmail.com).

- PA #1: 64-bit arithmetic using 32-bit integers (deadline: 10/4 11:59PM)
- skeleton code
- Sign up the submission site (http://sys.skku.edu)
- You should enter the real name & real student ID

- PA #2: 64-bit arithmetic using 32-bit integers in assembly language (deadline: 11/13 11:59PM)
- skeleton code
- Changes:
- You are allowed to use 64-bit operations for shift instructions (sarq, salq, shrq, shlq). Use the following instruction to get the upper 32 bits of the register %rdi:
`shrq $32, %rdi`

- You can use a single 64-bit operation such as
`orq`

at the end of your code to put the result into the`rax`

register. Example:// Assume %edi and %eax contain 32-bit integers, respectively. shlq $32, %rdi // move the contents of %edi to upper 32 bits orq %rdi, %rax // OR'ing them

- You are allowed to use 64-bit operations for shift instructions (sarq, salq, shrq, shlq). Use the following instruction to get the upper 32 bits of the register %rdi:
- Notes:
- When you perform 32-bit operations, note that the upper 32 bits of the destination register are cleared to zeroes. Refer to the following examples (assume the original value of
`%rax`

=`0x1234567812345678`

)

movl $0xface, %eax // %rax becomes 0x000000000000face (not 0x123456780000face) xorl $eax, %eax // %rax becomes 0x0000000000000000 (not 0x1234567800000000)

- When you perform 32-bit operations, note that the upper 32 bits of the destination register are cleared to zeroes. Refer to the following examples (assume the original value of

- PA #3: Defusing a Binary Bomb (deadline: 11/27 11:59PM)
- You can obtain your bomb by pointing your web browser at http://sys.skku.edu:15213/

- PA #4: Drawing grid lines in an image (deadline: 12/11 11:59PM)
- skeleton code
- Submit only bmpgrid.s file to the submission site (http://sys.skku.edu)