1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | #include <stdio.h> void setElt (int array[], int size) { int i; i = 0; while(i < size) { array[i] = 1; i++; } } int getElt (int pos, int array[]) { return array[pos]; } int main() { int list[100]; int element; setElt(list, 100); element = getElt(33,list); write(element); } | Crocus |
sym 1 1 100 @ list[100]
sym 1 101 1 @ element
setElt proc 3 2 2
sym 2 1 1 @ &array
sym 2 2 1 @ size
sym 2 3 1 @ int i
ldc 0 @ 0
str 2 3 @ i=0
while nop
lod 2 3 @ size
lod 2 2 @ i
lt
fjp endwhile1
lod 2 3 @ i
lod 2 1 @ &array
add @ array[i]
lod 2 3 @ i
sti @ array[i] = i
lod 2 3 @ i
inc @ i++
str 2 3 @ i = i++
ujp while
endwhile1 nop
ret
end
getElt proc 2 3 2
sym 3 1 1 @ pos
sym 3 2 1 @ &array
lod 3 1 @ pos
lod 3 2 @ &array
add @ array[pos]
ldi @ array[pos]
retv @ return
end
bgn 101 @ start
ldp
lda 1 1 @ list
ldc 100 @ 100
call setElt @ setElt(list,100)
ldp
ldc 33 @ 33
lda 1 1 @ list
call getElt @ getElt(33,list)
str 1 101 @ element
ldp
lod 1 101 @ element
call write @ print
end @end
'Applied > Assembly' 카테고리의 다른 글
[Ucode] 예제 프로그램 - 함수 호출(2) (한글 주석 포함) (0) | 2016.06.02 |
---|---|
[Ucode] 예제 프로그램 - 이중 중첩문(while) (2) | 2016.05.29 |
[Mips Code]stack기반 지역변수 설정 및 함수 콜 (0) | 2016.03.12 |
[Mips Code]factorial 만들기 (재귀형식, jar 명령어) (0) | 2016.03.09 |
[Mips Code]factorial 만들기 (재귀형식, j 명령어) (0) | 2016.03.09 |