• LF몰 이벤트
  • 파일시티 이벤트
  • 서울좀비 이벤트
  • 탑툰 이벤트
  • 닥터피엘 이벤트
  • 아이템베이 이벤트
  • 아이템매니아 이벤트

[system programming] 시스템프로그래밍 실습 과제 : 복수모듈 프로그램(ArrayMul), 재귀를 이용하여 팩토리얼 구현

공대아테나
개인인증판매자스토어
최초 등록일
2020.07.07
최종 저작일
2020.07
5페이지/한글파일 한컴오피스
가격 1,000원 할인쿠폰받기
다운로드
장바구니

목차

1. 복수모듈 프로그램(ArrayMul)
1) 문제분석 및 풀이
2) 소스코드
3) 실행화면/레지스터 값

2. 재귀를 이용하여 팩토리얼 구현
1) 문제분석 및 풀이
2) 소스코드
3) 실행화면/레지스터 값

3. 결과에 대한 토의

본문내용

실습1 : 복수모듈 프로그램(ArrayMul)
* 문제분석 및 풀이
- 사용자로부터 입력 받은 data를 배열에 저장하고 모든 값들을 곱한다.
- 이프로그램이 어떻게 동작하는지 이해한다
- 디버거를 통해 값이들 어떻게 변하는지 확인한다.

* 실행화면 / 레지스터 값
- 여러 개의 파일로 나누어진 모듈을 하나로 링크시켜 어셈블 하는 과정
- PromptForIntegers 프로시저의 호출이 이루어 지고 아큐먼트 값이 넘어 온다
- 아큐먼트는 역순으로 저장, 각각 3, 배열주소, 출력할 문자열 주소순이다
- 값 3은 ecx에 저장되고, 3번의 루프를 돌면서 사용자로부터 입력을 받는다.
- ArraySum 프로시저 호출이 되면 배열의 주소값과 3이 넘어오고 역순으로 저장
- 배열에 있는 값을 eax에 곱하여 3번 루프를 반복 하게 된다
- 배열의 값을 곱한 값과 문자열의 주소값이 아규먼트로 넘어 오게 된다.
- edx에 출력할 문자열의 주소를 저장하고 결과값을 출력하게 된다.

실습2 : 재귀를 이용하여 팩토리얼 구현
* 문제분석 및 풀이
- 재귀를 이용하여 팩토리얼 함수를 만든다
- 여러개의 포멀 파라미터를 정의한뒤 스택에 파리미터들이 어떻게 쌓이는지 관찰

*실행화면 / 레지스터 값
- 스택에 아큐먼트 순서(왼쪽부터)의 역순으로 스택에 쌓이느것을 관찰 할수 있다
- 아규먼터의 1씩 감소하여 eax에 값을 곱한다
- 재귀함수 호출로 인하여 스택이 쌓이는 모습을 관찰

결과에 대한 토의
디버거를 이용하여 스택에 아규먼트들이 어떻게 저장되어 있는지 관찰하였으며, 함수를 호출할 때 스택이 어떻게 쌓이는지 디버거를 이용하여 확인하였다 두 번째 실습을 하면서 INVOKE를 사용하여 직접 스택에 아큐먼트들을 푸시하지 않고 자동으로 해주무로서 사용자의 편리하게 프로그래밍을 할수 있게 한 것 같다.

참고 자료

없음
공대아테나
판매자 유형Bronze개인인증
해당 판매자는 노하우톡 기능을 사용하는 회원입니다.노하우톡
* 노하우톡 기능이란?노하우 자료를 판매하는 회원에게 노하우 컨설팅, 활용방법 등을 1:1 대화를 통해 문의할 수 있는 기능입니다.

주의사항

저작권 자료의 정보 및 내용의 진실성에 대하여 해피캠퍼스는 보증하지 않으며, 해당 정보 및 게시물 저작권과 기타 법적 책임은 자료 등록자에게 있습니다.
자료 및 게시물 내용의 불법적 이용, 무단 전재∙배포는 금지되어 있습니다.
저작권침해, 명예훼손 등 분쟁 요소 발견 시 고객센터의 저작권침해 신고센터를 이용해 주시기 바랍니다.
환불정책

해피캠퍼스는 구매자와 판매자 모두가 만족하는 서비스가 되도록 노력하고 있으며, 아래의 4가지 자료환불 조건을 꼭 확인해주시기 바랍니다.

파일오류 중복자료 저작권 없음 설명과 실제 내용 불일치
파일의 다운로드가 제대로 되지 않거나 파일형식에 맞는 프로그램으로 정상 작동하지 않는 경우 다른 자료와 70% 이상 내용이 일치하는 경우 (중복임을 확인할 수 있는 근거 필요함) 인터넷의 다른 사이트, 연구기관, 학교, 서적 등의 자료를 도용한 경우 자료의 설명과 실제 자료의 내용이 일치하지 않는 경우

이런 노하우도 있어요!더보기

최근 본 자료더보기
탑툰 이벤트
[system programming] 시스템프로그래밍 실습 과제 : 복수모듈 프로그램(ArrayMul), 재귀를 이용하여 팩토리얼 구현
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업