[어셈블리어] 최소공약수 구하는 프로그램 3
페이지 정보
작성일 23-05-24 05:36
본문
Download : [어셈블리어] 최소공약수 구하는 프로그램.hwp
목표(goal)값이 나올때까지 계속 자신을 호출하게 해준다. 나머지가 0보다 작거나 같을때까지 나누어 주는 방식으로 구하며 iter 프로시져에서는 한번의 호출로 결과를 나오게 해야함으로 L1을 목표(goal)값이 나올때까지 계속 돌려준다.
● 문제개요
cdq
mov eax, ebx
어셈블리어 최소공약수 구하는 프로그램 3
INCLUDE Irvine32.inc
.code
temp2 sdword ; 두번째 정수를 받을 변수
순서
jmp L2 ; 0보다 작거나 같다면 L2...
mov ebx, edx
○ GCD Recursive version
[어셈블리어] 최소공약수 구하는 프로그램 3
■ GCD
Iter PROC
TITLE Program Template (gcd.asm)
idiv ebx
mov ebx, [ebp+8] ; ebx에 temp2가 들어있는 주소를 넣어준다
Download : [어셈블리어] 최소공약수 구하는 프로그램.hwp( 68 )
mov eax, [ebp+12] ; eax에 temp1이 들어있는 주소를 넣어준다
임의 변수 temp1, temp2에 두 개의 32비트 정수를 받는다.
counter sdword 0 ; 재뒤함수 호출횟수를 셀 변수
레포트 > 기타
cmp ebx, 0 ; 0과 나머지를 비교해준다
jg L1 ; 나머지가 0보다 크다면 다시 L1으로
mov ebp, esp ; ebp를 esp와 같게 해준다
■ GCD ● 문제개요 Assembly Language를 이용하여 두 정...
.data
● 소스
○ GCD Iterative version
L1
Assembly Language를 이용하여 두 정수의 최대공약수(GCD)를 구하는 함수를 아래와 같이 2개의 버전으로 작성하고, 매번 다른 값을 사용하여 그 함수들을 여러번 호출하고 테스트하는 program을 작성하라.
temp1 sdword ; 첫번째 정수를 받을 변수
설명
■ GCD ● 문제개요 Assembly Language를 이용하여 두 정...
push ebp ; ebp를 푸시한다
● 알고리즘
다. 스택에 두 정수를 넣어주고 iter 프로시져를 먼저 호출하여 최대공약수를 구해준다. Recur 프로시져는 iter와는 다르게 한번 호출할 때 마다 한번씩만 계산을 해준다. iter 프록시져가 끝나면 Recur 프로시져를 호출한다.


