디버깅을 하다보면 asm(어셈) 코드를 종종 보게 됩니다.
add r1,r2,r3 이런식으로 되어있으면 add같은 어셈코드를 니모닉(mnemonics) 이라고 합니다.
예전에는 니모닉을 개발자가 직접 코딩해서 어셈블러를 통해 opcode 로 변경하는 과정을 통해서 실행 파일을 만들었습니다.
지금은 어셈블러를 거의 사용하지 않기 때문에 디버깅시 opcode와 니모닉만 주로 보게 되고 있습니다.
기계어라고 말하는 부분은 opcode가 되고, 어셈이라 표현되는 부분은 니모닉이 되겠습니다. opcode와 니모닉은 1:1로 매칭되지 않습니다. 이유는 add하나도 뒤쪽에 레지스터냐 메모리를 access가 되냐에 따라 opcode가 달라지게 됩니다. opcode를 instruction set 이라고도 합니다. ARM의 경우에는 ARM instruction set을 검색하면 됩니다.
댓글 없음:
댓글 쓰기