▲GN⁺ 2024-07-11 | parent | ★ favorite | on: x86 에뮬레이터 작성 중에 배운 이상한 것들(timdbg.com)Hacker News 의견 Intel SDM에서 BSF/BSR 명령어가 0 입력 시 목적지 값이 정의되지 않음을 명시함. AMD는 이 경우 목적지가 수정되지 않음을 문서화함 glibc는 Intel에서 목적지가 수정되지 않는다는 비공식 사실을 사용함 TZCNT/LZCNT는 BSF/BSR에 F3 접두사가 붙은 형태로, 구형 프로세서에서는 무시됨. 동일한 코드가 다른 CPU에서 다르게 동작할 수 있음 접두사에 대한 불만이 많지만, 이는 가장 큰 문제는 아님. REX/VEX/EVEX.RXB 확장 비트가 적용되지 않을 때 무시됨 APX는 REX2 접두사가 r16-r31 레지스터를 인코딩할 수 있지만, xmm16-xmm31은 불가능함 EVEX 접두사는 여러 opcode에 따라 다른 레이아웃을 가짐 레지스터 유형에 따라 확장 비트 사용이 달라짐 어셈블리 코딩을 즐기는 사람의 의견. 간단하고 수직적인 미학적 품질을 즐김 JS 친구에게 스택을 이해시키기 위해 미니 VM을 작성한 경험을 공유함 친구가 웹 개발로 바빠서 깊이 있는 공부를 할 시간이 없음을 언급함 Salsa20 변형과 머신 코드가 cryp.to에 있다고 잘못 기억함. Dan Berstein의 사이트는 cr.yp.to임 스타트업에서 데이터 암호화 관련 작업을 하면서 다양한 구현을 테스트한 경험을 공유함 Justine Tunney와 그녀의 에뮬레이터를 추천함. 문서가 CPU 작동 방식을 잘 설명함 CPU 에뮬레이터 작성이 CPU를 이해하는 최고의 방법이라는 의견에 반대함 게이트 레벨에서 CPU를 만드는 것이 더 나은 방법임 x86 어셈블리가 RISC보다 더 많은 문제를 일으킨다는 의견에 반대함 x86은 분석하기 쉽지만, MIPS는 어려움 x86 프로세서 에뮬레이터 개발자에 대한 존경을 표함 i386 에뮬레이터를 개발하면서 시스템 호출과 ELF에 대해 많이 배움 x86 에뮬레이터 작성 경험을 공유함 초기 BIOS 코드를 실행하는 장난감 에뮬레이터를 작성한 경험을 회상함 블로그 스타일과 레이아웃이 마음에 든다는 의견을 공유함
Hacker News 의견