programming/architecture(22)
-
[pc spim] 반복 구조와 분기구조의 예
Contents 1 반복구조와 분기구조의 예 2 Null로 끝나는 String 3 String의 길이 4 프로그램 5 루프 본체 6 완성된 프로그램 7 정수 배열 8 프로그램 예제: 정수 배열의 합 9 순서도 10 배열의 크기를 구해보자 11 루프 만들기 12 합계 구하기 13 음수값을 판단하기 14 참 또는 거짓으로 분기하기 15 완성된 프로그램 16 프로그램 실행하기 17 20장 끝 1 반복구조와 분기구조의 예 http://chortle.ccsu.edu/AssemblyTutorial/Chapter-20/ass20_1.html 이 장에서는 반복과 분기구조를 보여주는 두개의 예제 프로그램을 공부한다. 또한 어셈블리어에서 문자열과 정수의 배열을 어떻게 표현하는 가를 공부한다. 주제: Null로 끝나는 문자..
2011.11.19 -
[PC SPIM] 피보나치
어셈블리 구문 # 코드는 서브루틴으로 재귀적으로 숫자를 계산 피보나치 수 # Uses system stack # 사용 시스템 스택 . data . 데이터 in_string: .asciiz "Input a positive integer:\n\n" in_string :. asciiz "정수 입력 긍정합니다 : \ n \ N"이 out_string: .asciiz "The Fibonacci number is:\n\n" out_string :. asciiz은 "피보나치 번호는 같습니다 : \ n \ N"이 .text . 텍스트 main: 주 : # print out prompt 아웃 프롬프트에서 인쇄 # li $v0, 4 # system call code for printing string = 4 리 $ v0,..
2010.12.04 -
PC SPIM Download
Win 버전
2010.12.04 -
[PCSPIM] 입력한 두 수 중 더 큰 수를 출력하는 프로그램
#11.22 #입력한 두 수 중 더 큰 수를 출력하는 프로그램 .text .globl main main: li $v0, 5 syscall move $t0, $v0 li $v0, 5 syscall move $t1, $v0 bge $t0, $t1, Bigger # t0 >= t1 이면 Bigger 로 가라 b end_if # end_if 로 가라 Bigger: move $a0, $t0 # t0 >= t1 이므로 t0 값을 a0에 넣음 li $v0, 1 # 출력 syscall li $v0, 10 # 종료 syscall end_if: move $a0, $t1 # t0 >= t1 이 참이 아니면 실행 li $v0, 1 syscall li $v0, 10 # 종료 syscall .data
2010.11.23 -
[PCSPIM] 입력 메시지에 따라 두 정수를 입력받아 그 정수의 차를 출력
#11.15 Ex2 #입력 메시지에 따라 두 정수를 입력받아 그 정수의 차를 출력 .text .globl main main: li $v0, 4 # 4 는 Print_string la $a0, str1 # load address , a0에 str1 주소. syscall # Makes a System call. li $v0, 5 # v0 는 어떤 명령을 사용할 것인지 쓰는 명령어. # 5 는 Read_int syscall move $t0, $v0 # v0 에 있는 값을 t0로 li $v0, 4 la $a0, str2 syscall li $v0, 5 syscall move $t1, $v0 sub $t2, $t0,$t1 li $v0, 4 la $a0, str3 syscall move $a0, $t2 # 임시변수..
2010.11.23 -
[PCSPIM] 입력 메시지에 따라 두 정수를 입력받아 그 정수의 합을 출력
#11.15 Ex2 #입력 메시지에 따라 두 정수를 입력받아 그 정수의 합을 출력 .text .globl main main: li $v0, 4 # 4 는 Print_string la $a0, str1 # load address , a0에 str1 주소. syscall # Makes a System call. li $v0, 5 # v0 는 어떤 명령을 사용할 것인지 쓰는 명령어. # 5 는 Read_int syscall move $t0, $v0 # v0 에 있는 값을 t0로 li $v0, 4 la $a0, str2 syscall li $v0, 5 syscall move $t1, $v0 add $t2, $t0,$t1 # add $a0, $t0, $t1 해도 바로 나온다. 임시저장소 거치지 않고 바로 저장 l..
2010.11.23