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

[어셈블리]어셈블리로 구현한 최대공약수 구하기

*경*
최초 등록일
2006.06.11
최종 저작일
1997.01
7페이지/한글파일 한컴오피스
가격 1,000원 할인쿠폰받기
다운로드
장바구니

소개글

최대공약수를 구하는 것을 반복문을 사용하고, 재귀 호출을 사용하여서
어셈블리 언어로 구현하였습니다.

목차

1.1 문제 분석
1.2 프로그램 설계
1.3 소스 코드
1.4 실행 화면
1.5 느낀점

본문내용

이 함수를 어셈블리 언어로 구현하고, 매번 다른 값을 사용하여 그 함수를 여러번 호출하고 테스트
하는 프로그램을 작성하라. 모든 결과는 화면에 표시하라.

: 두 정수에 대한 최대공약수(GCD) 를 찾는 유클리드 알고리즘을 재귀적으로 구현하라. 이 알고리즘
에 대한 설명은 대수학 책과 웹에 나와 있다. (주의 : GCD 문제의 비재귀적인 버전은 7장의 프로
그래밍 연습에 있다.)

1.2 프로그램 설계
① 최대 공약수 프로그램을 재귀와 반복 두 가지 형으로 구현하는데, 두 프로그램을 합쳐서 하나의
테스트 프로그램으로 작성하였다. 두 개의 정수를 입력 받은후, 그 값을 각각의 변수에 할당을
한다. 후에 프로그램에서 선택을 할수 있다. 순환 버전으로 최대 공약수를 구하려면 0 번을 입력
하고, 재귀 버전으로 최대 공약수를 구하려면 1번을 입력 한다.
② 만약 두 정수중에 마이너스 값이 들어오면 그 두 정수를 neg 명령어를 통해서 절대값을 취해준다.
이를 위해서 그 값이 0 과 cmp 해서 0보다 작으면 절대값을 취해 주는 L2 와 L4로 점프한다.
만약 0인 경우에는 다시 메인으로 호출된다.
③ go로 호출되어 먼저 값을 스택에 푸시 시킨다. 그리고 선택을 한다. 0일 경우 iterative 프로시
저가 호출된다. ebp를 스택에 저장해 두고, eax에 ebp + 12 위치의 주소값을 넣고, ebx 에 ebp+8
위치의 주소값을 넣는다. 그리고 gcd로 점프한다. 나눗셈을 하기 위해서 cdq를 사용하였고, 두
개의 정수값을 가지고 있는 두 레지스터 eax 와 ebx를 나눈다. 그리고 비교하여 ebx가 0이거나
작으면 return 으로 점프하고, 그렇지 않음 gcd로 점프한다.

참고 자료

없음

자료후기(1)

*경*
판매자 유형Bronze개인

주의사항

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

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

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

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

최근 본 자료더보기
  • 프레시홍 - 전복
탑툰 이벤트
[어셈블리]어셈블리로 구현한 최대공약수 구하기
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업