Busan IT/Assembly2015. 9. 30. 17:45

==================================Outline====================================

조건문의 사용

----------------------------------------------------------------------------

 

 

if문은 jumpcompare의 조합이다.

 

if문 두 개와 if ~else문을 구분해보면 if ~else문이 효율적이지만 큰 차이는 나지 않는다.

embedded에서는 한 푼도 줄 수 없기 때문에 if ~else를 사용하는 것이 좋다.

 

mnemonic loop

 

ECX는 카운트 레지스터로써 loop문을 만나면 1씩 감소하게 된다.

 

mov ecx, number ; number of iterations

...

 

loop forIndex ; repeat body number times

 

loop문은 기준으로 앞으로 127byte 뒤로 128byte가 넘어가게 되면 loop으로 돌아갈 수 없다. 때문에 128byte가 초과할 경우는 jump문을 사용해야 한다.

 

loope/loopzzero 플래그가 0일 때 빠져 나가게 되는 것이고, loopne/loopnzzero 플래그가 0이 아닐 때 빠져나가게 된다.

 

 

1부터 10까지 더하는 프로그램 for문과 while문으로 작성해보자.

 



 

for문이 jmp명령어가 하나 더 있음을 알 수 있다. 현재 코드는 최적화보다는 for문과 while문의 코드 작성 순서에 따른 차이라고 볼 수 있다.

 

 

 

 

반응형
Posted by newind2000