아 이거 하다가 생각난건데, 교수님 문제 어렵다. 진짜 어렵다. 그 개념도 중요하긴 한데, 개념+계산(이게 연습문제 +a 난이도) 가 9장이 나왔다. 문제만 9장이다. 문제 수는 13개다. 진짜 너무 무서웠다. 풀이지 하숙방에 남아있는데.... 안줄래. 그건 안 줄거다.
.data
c: .word 5
d: .word 7
.text
main:
lw $s4, c
lw $s5, d
li $t4, 1
slt $s1, $s4, $s5
beq $s1, $t4, abss
bne $s1, $t4, subb
abss:
sub $s0, $s5, $s4
move $a0, $s0
li $v0, 1
syscall
li $v0, 10
syscall
subb:
sub $s0, $s4, $s5
move $a0, $s0
li $v0, 1
syscall
li $v0, 10
syscall
1번
.data
.text
main:
li $v0,5
syscall
move $s2, $v0
li $s0,0
li $s1,1
j loop
loop:
add $s0, $s1, $s0
beq $s1, $s2, ending
addi $s1, 1
j loop
ending:
move $a0, $s0
li $v0, 1
syscall
li $v0, 10
syscall
2번
.data
.text
main:
li $s0, 3
move $a1, $s0
jal plus_one
move $a0, $v1
li $v0, 1
syscall
li $v0, 10
syscall
plus_one:
addi $v1, $s0, 1
jr $31
3번
.data
list:
.align 6
.space 25
d:
.word 10
.text
main:
lw $s3, d
# $s3은 10이다
la $s0, list
# $s0는 list다
li $s1, 1
# $s1은 i이다
li $s2, 4
# $s2는 int의 사이즈 (4byte)
jal loop
la $s0, list
li $s1, 0
jal PrintAll
li $v0, 10
syscall
loop:
sub $t1, $s3, $s1
# t1에 10-i 값을 집어 넣고
sw $t1, 0($s0)
# 그걸 집어넣는다.
addi $s0, 4
#인덱스 증가
addi $s1, 1
# i 증가
bne $s1, 6, loop
# 6되면 끝나도록 한다. 어차피 5까지만 돌아가긴 하니까 상관 없다 이 말이지?
jr $ra
PrintAll:
lw $a0, 0($s0)
li $v0, 1
syscall
addi $s0, 4
addi $s1, 1
bne $s1, 5, PrintAll
jr $ra
4번
'vidigummy KAU > 2020년 2학기 컴퓨터 구조' 카테고리의 다른 글
컴구 시험 정리(공식, 무조건 나오게 되는 개념들) (0) | 2021.01.03 |
---|---|
컴구 과제3 (0) | 2021.01.03 |
컴구 과제 1 (0) | 2021.01.03 |
컴구는 좋은 과목이다. (0) | 2021.01.03 |