1. 연산의 결과 (6)를 확인하기 위해 수행해야하는 명령어는?
2. mult $t0 t1
를 2진수로 표현하라(단, fucnt 값은 24)
3. mflo $t2
을 2진수로 표현하라(단, funct 값은 18)
Example
.text
.globl main
main:
addi $t0, $0, 7
addi $t1, $0, 2
div $t0, $t1
mflo $t2
mfhi $t3
4. $t2
에 저장된 값은?
5. $t3
에 저장된 값은?
6. add t0,s1, $s2를 2진수로 표현하시오. (단, funct값은 32)
7. 다음 2진수를 어셈블리로 바꾸시오. 000000 00100 00101 00110 00000 100010(sub)
8. sll 10,16, 4를 2진수로 표현하시오.(단, funct 값은 0)
9. ori 11,9, 0x8000을 2진수로 표현하시오. (단, op 값은 13)
10. andi 12,0, 0xffff를 2진수로 표현하시오.(단, op값은 12)
11. addi 13,0, -1을 2진수로 표현하시오.(단, op값은 8)
addi $t1, $0, 0x8000
12. out-of-range error가 발생하는가 True/False로 대답하시오.
13. SPIM에 load되는 명령어를 쓰시오
ori $t1, $0, -32768
14. out-of-range error가 발생하는지 True/False로 대답하시오
15. SPIM에 load되는 명령어를 쓰시오.
addiu $t1, $0, 32768
16. out-of-range error가 발생하는지 True/False로 대답하시오
17. $t1
레지스터의 값이 0x12345678
일 때, lui $t1 0x5678
을 수행한 결과를 쓰시오.
17-2) lui $t0 0xffff
를 2진수로 표현하시오. (op 값은 15)❌
18. sw 4,8(5)을 2진수로 변환하라.(단 op 값은 43) ❌
19. 0x8ca60008을 disassemble 한 명령어를 적어라.
int g,h,A[100];
g = h + A[8];
- g in s1,hins2, base address of A in $s3
20. 위 코드를 어셈블리로 나타내라
21. jr $t1
을 2진수로 나타내라.(단, funct 값은 8이다) ❌
.text 0x00400024
.globl main
main:
nop
j main
22. j main
을 2진수로 변환하라. (단, op 값은 2)
bne $3, $4, Else # 0x00400038
add $s0, $s1, $s2
j Exit
Else: sub $s0, $s1, $s2
Exit: add $s0, $s0, $s0
23. bne $3, $4, Else
를 2진수로 변환하라.(단, op값은 5이다)
24. beq
, bne
명령어의 offset
필드를 계산할 때 표현가능한 범위는 -32768~32767이다.
25. 다음의 코드를 assembly로 변환하라.(단, i in s3,kins5, address of arr in $s6, arr is int array)
i = 1;
while (arr[i]==k) ++i;
26. Syscall을 이용하여 10을 출력하시오.
27. 다음 표를 완성하시오
Signal name | deasserted | asserted |
---|---|---|
RegDst | ||
RegWrite | ||
ALUSrc | ||
PCSrc | ||
MemRead | ||
MemWrite | ||
MemtoReg |
28. 다음 표를 완성하시오
opcdoe | ALUOp |
---|---|
lw | |
sw | |
beq | |
R-type |
29. 다음 표를 완성하시오
ALU function | ALU control |
---|---|
add | |
sub | |
and | |
or | |
slt |
30. 빈 칸을 채우시오
31. 빈 칸을 채우시오
* 32. 빈 칸을 채우시오.*
33. 철수가 clock cycle을 정하기 위해 기준으로 해야하는 명령어는?
34. 다음 표를 완성하시오