명령 표현과 바이트
어셈블리 문장을 처리하고 명령이 어떤 바이트로 인코딩되는지 확인할 수 있다. 반대로 바이트 시퀀스를 명령으로 해석하는 기능도 있다. 텍스트 형태의 LLVM 중간 표현을 비트코드로 만드는 LLVM As와는 입력의 계층이 다르다.
파서와 문법 실험
어셈블리 입력을 토큰으로 나누거나 서로 다른 출력 문법으로 표시하는 작업을 지원한다. 작은 명령 조각으로 파서와 인코딩을 점검하는 데 유용하다. 실제 지원 기능은 선택한 타깃과 도구 빌드에 따라 확인한다.
대상 조건의 중요성
아키텍처와 CPU 기능이 맞지 않으면 같은 바이트와 명령을 의도와 다르게 해석할 수 있다. 비교 시 대상 설정을 함께 기록한다. 올바른 인코딩이 생성되었다는 사실만으로 그 명령을 사용하는 프로그램 전체의 동작이나 성능이 보장되지는 않는다.
관련 문서
LLVM As / LLVM LLC / LLVM Objdump / Capstone