검색어 입력폼

컴퓨터구조 프로젝트 과제

저작시기 2017.06 |등록일 2018.01.30 파일확장자압축파일 (zip) | 17페이지 | 가격 2,000원

목차

없음

본문내용

1. 어떤 수 n을 입력받은뒤, 1부터n까지의 합을 출력하는 프로그램이다. 나는 printfour 라는 함수를 만들어 input.s에 추가하였고 이를 통해 최대 네자리 수를 출력할 수 있도록 하였다. 출력값의 자릿수가 네자리 이하가 되도록 하는 입력값의 범위는 140이하 이다. 따라서 scan3 라는 함수를 만들어서 input.s에 추가하였고 최대 세자리수를 입력받을 수 있다.

*scan3 함수소개
scan함수를 통해 첫 번째 입력을 받고 r4에 저장한다.
다시 scan함수를 사용하여 입력값을 r3에 저장한다. 이때 입력 받은값이 enter 인 경우 ‘single’로 분기한다. 입력값은 |r4|인 한자리 수가 된다.
다시 scan함수를 사용하여 입력값을 r2에 저장한다. 이때 입력 받은값이 enter 인 경우 ‘double’로 분기한다. 입력값은 |r4 r3|인 두자리 수가 된다. 마지막으로 입력받은 값이 enter가 아닌 경우에 입력값은 |r4 r3 r2|인 두자리 수가 된다.

그 후 앞에서 입력받은 값들을 자리수를 고려하여 모두 더해 r2에 저장한다. 이 과정에서 반복문을 사용하였다. 각 100의 자리수는 백번, 10의 자리수는 열 번, 1의 자리수는 한 번씩 반복하여 더했다. 그러면 입력받은 값을 r2에 저장한 후 함수는 종료된다.

*printfour 함수소개
r12에 저장된 값을 최대 네자리 정수로 출력하는 함수이다. r12에 저장된 값을 r9로 mov한다. r9에 저장된 값을 자리수를 고려하여 네 개의 레지스터에 나누어 저장한다. 출력값이 |r12 r11 r10 r9| 의 형태가 되도록 변환을 실시한다.

일의자리 r9에 저장된 값이 10보다 큰 경우 십의자리 r10으로 한자리씩 올려준다. r9에 저장된 값이 10보다 작아진 경우 십의자리를 변환한다. 십의자리도 앞에서 일의자리를 변환한 것과 동일한 방법으로 자리수 올림을 실행하여 백의자리 수를 r11에 저장한다. 다음은 역시 r11을 올림하여 천의자리수를 r12에 저장한다. 그러면 기존의 r9 은 |r12 r11 r10 r9|를 만족하게된다.

참고 자료

없음

압축파일 내 파일목록

project_Data/Debug/TargetDataWindows.tdt
project_Data/DebugRel/ObjectCode/3.o
project_Data/DebugRel/ObjectCode/add.o
project_Data/DebugRel/ObjectCode/input.o
project_Data/DebugRel/TargetDataWindows.tdt
project_Data/DebugRel/project.axf
project_Data/Release/TargetDataWindows.tdt
project_Data/CWSettingsWindows.stg
1.s
2.s
3.s
HW5.pdf
add.s
helloworld2.zip
input.s
project.mcp
project.pdf
sample.zip
코드설명 자료.hwp
다운로드 맨위로