Disassembly시 Prefix 고려 문제.

Disassembler를 제작하는 중, prefix에 대한 문제가 있었다.
이게 뭐인고 하니..
앞의 구문에 따라 뒤에 나오는 명령어의 의미가 달라진다는 것이다.
선행 지시어? 정도랄까..

예를 들어서,

mov eax, 0


라는 코드가 있을 때, 앞에 16bit에 대한 prefix가 있다면

mov ax, 0


로 읽혀 진다는 것이다.

이를 해결하기 위해, prefix를 저장하는 플래그를 두어야 하는데..
생각보다 일이 복잡해진다.
(prefix가 하나가 아니기 때문.)

뭐 이것 뿐만이 아니라..

mov [esi + edi + 4], 0


이런건 -_-.. 어떻게 할까.. ㄷㄷㄷ

Disassembly는 cpu 입장에서 생각해야 되는 문제들이 많다.
하나 하나 해결해 나가야지.
크리에이티브 커먼즈 라이센스
Creative Commons License

Posted by 장현준

2007/08/06 23:17 2007/08/06 23:17
Response
No Trackback , No Comment
RSS :
http://b4you.net/blog/rss/response/128


블로그 이미지

빗소리를 먹는 사람.

- 장현준

Notices

Archives

Authors

  1. 장현준

Recent Trackbacks

  1. 듀얼클러치의 생각 rsvin28's me2DAY 2009

Calendar

«   2012/02   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29      

Site Stats

Total hits:
158014
Today:
84
Yesterday:
228