티스토리 뷰

1. 함수의 사용법

헤더파일 추가 : <string.h> 

 


2. 어셈블리 구현 및 분석 (도식화)


 







 

[strlen 어셈플리 소스]

AL값이 ‘w’일 때 len 값이 7인 것은 7번째 반복의 의미할 수 있다.



ESI(str)

h

e

l

l

o

 

w

o

r

l

d

!

\0

AL

h

e

l

l

o

 

w

o

r

l

d

!

\0

len

1

2

3

4

5

6

7

8

9

10

11

12

반복탈출


ESI 값에 str 시작주소를 넣고, ESI를 역참조한 값을 레지스터 AL에 넣어준다.

AL 00(NULL) 을 비교하여 같지 않으면 반복하고 len값과 ESI주소값을 증가시켜준다.

AL값이 00이 될 때 조건 성립하여 EXIT label로 점프하여 반복문을 빠져나가게 된다.


3. 동적 디버깅 분석


 


반복을 빠져 나오는 경우를 확인             

Comments
최근에 올라온 글
최근에 달린 댓글
TAG
more
Total
Today
Yesterday