이게 뭐인고 하니..
앞의 구문에 따라 뒤에 나오는 명령어의 의미가 달라진다는 것이다.
선행 지시어? 정도랄까..
예를 들어서,
mov eax, 0
라는 코드가 있을 때, 앞에 16bit에 대한 prefix가 있다면
mov ax, 0
로 읽혀 진다는 것이다.
이를 해결하기 위해, prefix를 저장하는 플래그를 두어야 하는데..
생각보다 일이 복잡해진다.
(prefix가 하나가 아니기 때문.)
뭐 이것 뿐만이 아니라..
mov [esi + edi + 4], 0
이런건 -_-.. 어떻게 할까.. ㄷㄷㄷ
Disassembly는 cpu 입장에서 생각해야 되는 문제들이 많다.
하나 하나 해결해 나가야지.
Posted by 장현준


