INCLUDE Irvine32.inc

.data
val1	DWORD 0
val2	DWORD 1
val3	DWORD ?
.code
MAIN	PROC
	call	Clrscr
L1:
	mov	eax,val2
	mov	val3,eax
	
	mov	eax,val1
	mov	val2,eax
	
	mov	eax,val3
	add	val1,eax
	jo	quitprogram
	mov	eax,val1
	call	WriteDec
	call	Crlf
	;오버플로우 플래그 1인가?? 아니면 점프L1
	jmp	L1
quitprogram:
	exit
MAIN	ENDP
END MAIN

처음에 19번 행의 코드가 빠져서 무한루프에 빠졌습니다.

오버플로우 플래그 검사는 연산바로 다음에 해줘야한다는 것을 놓쳤습니다.

그리고, 피보나치 문제를 풀 때 마다 항상 까먹어서 고생하는데 변수 3개를 이용하면 됨.
Posted by 도전하는 공돌이pooh

댓글을 달아 주세요