레포트샵
arrowdown

fileicon[컴퓨터 프로그래밍] 어셈블리(mips) 사칙연산 계산기

이전

  • 1컴퓨터 프로그래밍  어셈블리(mips) 사칙연산 계산기1
  • 2컴퓨터 프로그래밍  어셈블리(mips) 사칙연산 계산기2
  • 3컴퓨터 프로그래밍  어셈블리(mips) 사칙연산 계산기3
  • 4컴퓨터 프로그래밍  어셈블리(mips) 사칙연산 계산기4
  • 5컴퓨터 프로그래밍  어셈블리(mips) 사칙연산 계산기5
  • 6컴퓨터 프로그래밍  어셈블리(mips) 사칙연산 계산기6
  • 7컴퓨터 프로그래밍  어셈블리(mips) 사칙연산 계산기7
  • 8컴퓨터 프로그래밍  어셈블리(mips) 사칙연산 계산기8
  • 9컴퓨터 프로그래밍  어셈블리(mips) 사칙연산 계산기9

다음

  • 최대 100페이지까지 확대보기 서비스를 제공합니다.

> 레포트 > 공학계열 > 자료상세보기 (자료번호:186374)

구매가격
2,000원 할인쿠폰1,800원
등록일
파일형식
fileiconhwp(아래아한글2002) [무료뷰어다운]
페이지수
8페이지
자료평가
est1est2est3est4est5(평가 3건)
등록자
  • 다운로드
  • 장바구니 담기

닫기

이전큰이미지 다음큰이미지
  • 싸이월드
  • 트위터
  • 페이스북
신규가입 200원 적립! + 10% 할인쿠폰 3장지급! banner구매자료를 평가하면 현금처럼 3%지급!

소개글

[컴퓨터 프로그래밍] 어셈블리(mips) 사칙연산 계산기

하고 싶은 말

제가 여러가지 식과 경우를 입력해 보면서 테스트한 결과 정상적으로 잘 작동되었습니다. 모든 예외처리가 되지는 않지만 어느정도 예외처리도 되고 PCSpim으로 동작 시킬 경우 소숫점 4~5자릿수 이하의 결과는 어느정도 오차가 있지만 그것은 PCSpim 상의 문제이므로 소스코드는 계산식 입력에 따른 결과가 거의 완벽하게 나온다고 할 수 있습니다.

그리고 많은 분들이 F5로 일괄 진행하면 잘못된 값이 나온다고 머라하던데 제가 검사 맡을때는 F5로 일괄진행해서 값이 안나오는것에 대해 문제 삼지 않았고, 이 프로젝트를 한 다른 사람중에 이정도 기능을 갖추어 코딩한 사람들은 다 일괄 실행했을때 값이 이상하게 나와서 조교도 인정했습니다. 그러니까 F10으로 실행시켜야 될겁니다. 참고로 제가 이 과제 점수, 백점 만점에 보너스 점수까지 110점 받았습니다.

본문내용

■ 입력형식

입력형식은 콘솔 창에 직접 계산식을 입력하는 방법인데 실수나 정수, 사칙연산, 괄호 이외의 입력을 넣으면 안된다. 그리고 입력식의 문자열 길이가 100자를 초과해도 안된다. 잘못된 입력에 대해서는 어느 정도 예외 처리가 가능하다. 그리고 PCSpim 프로그램을 사용하여
구동시 반드시 F10으로 한줄씩 프로그램을 진행해야 된다. F5로 일괄
진행시 잘못된 값으로 나오는데 이것은 PCSpim의 문제로 보인다.

예) 바른 입력식
11.05+2.5*(5-119.005/3)
예) 잘못된 입력식
5.2+ a33*(15+1.5/4.25)=

■ 결과출력
계산식을 입력하면 결과가 출력되는데 계산 값과 계산식을 후위식으
로 바꾼 것이 콘솔 창에 출력된고 후위식으로 바꾼것도 역시 콘솔 창에 출력된다. 음수 계산 처리도 하려고 했지만 음수 계산은 오류가 있는것으로 보인다.
예) 25+-30 의 경우 -30을 음수 30으로 인식하여서 답이 -5가 나와
야 하는데 이 부분의 구현에 오류가 있다.
이 경우를 제외하고 일반적인 식의 경우 다 정확한 값이 나오며
소숫점 이하 4~5자리수 이상 내려가면 미세한 오차를 보이게 되는데 이것은 PCSpim의 문제인 것 같다.

■ 계산기 소스 코드

.text
.globl __start
__start:
la $a0,express
li $v0,4
syscall #"연산식 : " 을 출력

li $v0,8
la $a0,exp
li $a1,100
syscall
move $t1,$a0 #Expression 문자열을 입력 받아서 그 주소를 t1에 저장

la $t3,bexp #후위식을 저장할 공간의 주소를 t3에 저장
move $t8,$t3 #t3의 첫번째 주소값을 t8에 저장
sub $t1,1

load:
add $t1,1 #t1이 다음 주소값을 가리킴
lb $t0,($t1) #t1의 주소가 가리키는 값을 t0에 넣음
beq $t0,'+',pre3 #'+'나 '-'면 세번째 우선순위
beq $t0,'-',mark #'-'가 부호인지 연산자인지 결정
beq $t0,'*',pre2 #'*'나 '/'면 두번째 우선순위
beq $t0,'/',pre2
beq $t0,'(',pushstack #'('면 최상위 우선순위이므로 바로 스택에 푸시
beq $t0,')',endparren #')'면 '('가 나올때 까지 스택에 있는 모든 연산자를 팝함
beq $t0,10,popstack #문자열의 끝인지 확인
beq $t0,'.',noerror #에러체크
blt $t0,'0',error
bgt $t0,'9',error

태그 mips, 계산기, 사칙연산, 어셈블리, PCSpim

도움말

이 문서는 한글워디안, 한글2002 이상의 버전에서만 확인하실 수 있습니다.

구매에 참고하시기 바랍니다.

자료평가

자료평가0자료평가0자료평가0자료평가0자료평가0
아 개싀뱔 낚였네 돈물어내라 ㅅㅂㄻ 뭐가 되는데
ja*** (2008.06.10 21:07:48)
자료평가1자료평가1자료평가1자료평가1자료평가1
이건 뭐....
cjswowhd*** (2008.05.27 23:49:03)
자료평가2자료평가2자료평가2자료평가2자료평가2
막말로 환불 받고 싶네요 ㅡㅡ;; F5번을 눌르고 실행 시켰을경우 합계에서 에러가 납니다.
실행시킨데로 했는데도 그렇습니다. 그러나 F10번을 눌르고 노가다 뛰면 정상작동합니다.
이건 좀 잘 못 된것 아닙니까?? 에러나는 부분도 못 찾겠습니다.
됐다 안됐다 하는데....당황스럽네요.
pktae*** (2008.05.14 09:11:46)

오늘 본 자료

  • 오늘 본 자료가 없습니다.
  • img

    저작권 관련 사항 정보 및 게시물 내용의 진실성에 대하여 레포트샵은 보증하지 아니하 며, 해당 정보 및 게시물의 저작권과 기타 법적 책임은 자료 등록자에게 있습니다. 위 정보 및 게시물 내용의 불법적 이용, 무단 전재·배포는 금지됩니다. 저작권침해, 명예훼손 등 분쟁요소 발견시 고객 센터에 신고해 주시기 바랍니다.

    할인쿠폰 받기