MIPS32 에서 명령어의 길이는 보통 4바이트인데.. 간혹 IDA에서 단일 명령어인데 명령어 길이가 8로 나오는 명령어
들(lw, la, .. 등등)이 있다. 이러한 명령어들은 pseudo instruction일 가능성이 크다.
https://en.wikibooks.org/wiki/MIPS_Assembly/Pseudoinstructions
(혹은 구글에 MIPS pseudo instruction 으로 검색하면 자료 많이 나온다.)
요약하면.. pseudo instruction을 쓰면 어셈블러에서 기계어로 번역할 때 pseudo instruction 하나를 두 개의
instruction으로 바꿔 번역하는 것 같다. 그래서 IDA에서 분석 시 lw라던지 la.. 등등의 명령어의 길이가 8바이트 길
이를 가진 것으로 분석되어 보이는 것.
그렇긴 해도 모든 lw, la,.. 등의 명령어들이 꼭 pseudo instruction이라 8바이트를 차지하는 것은 아닌 것 같다.
'Assembly > 공개글' 카테고리의 다른 글
ida 단축키 (0) | 2015.08.09 |
---|---|
MIPS 어셈블리 <-> 기계어 mapping table (0) | 2015.08.03 |
MIPS jal nop branch delay slot (0) | 2015.07.11 |
x86/gcc에서 relative jump 사용하는법 (0) | 2015.02.08 |
intel 문법과 AT&T 문법에서 주소 참조 차이 (1) | 2015.01.07 |