나는 강력하게 제안 :
1) 당신이 요구하는 것과 파에 명령어 집합 시뮬레이터 (사용). 성공에 대한 가시성과 성공 가능성, 좌절감, 포기 기회 감소.
2) 먼저 x86 어셈블리를 배우지 마십시오. (하드웨어를 가지고 있다면 먼저 x86 학습에 대한 나쁜 변명이다). 매우 나쁜 아키텍쳐, 좋은 아키텍처를 먼저 배우고 나중에 x86 학습을 배우고 나서 많은 시뮬레이터/에뮬레이터 중 하나를 사용하여 8088/86을 먼저 배웁니다.
3) 몇 가지 명령어 세트를 배우십시오. 좋은 명령어로 시작하면 다른 모든 명령어 세트와 프로그래밍 언어조차도 구문의 작은 문제입니다.
4) 어셈블리를 배우는 나쁜 방법 인 시스템 호출을 배우지 못하고 명령어 세트 및 방법을 배우십시오. 시스템 호출은 어셈블리를 학습하고 응용 프로그램을 계속 프로그래밍하도록 선택한 후입니다. .
msp430 (또는 pdp11/lsi11), arm, thumb, avr, mico8 및 기타 목록이 훨씬 좋습니다. 몇 가지를 배운 후에도 mips를 저장하십시오. 다른 아키텍처에 대한 잘못된 사고 방식에 빠질 수있는 흔치 않은 기능이 있습니다.
프로그래밍 기술이 이미 강력하다면 몇 일 만에 어셈블리를 수령 할 수 있으며 수주 내에 여러 명령어 세트를 가질 수 있습니다.이 가이드를 따라 서로 관련이없는 (좋은) 명령어 세트를 배운 다음 x86을 살펴보기 시작하면 정확히 왜 내가 마지막으로 또는 결코 그것을 배우지 않을 것을 권장하는지 알게 될 것입니다. 6502 및 그림과 일부 다른 것과 마찬가지로 역사적인 교육 가치가 있지만 가족 역사의 특성으로 인해 튜닝/프로그래밍 관점에서 그다지 벗어날 수 없습니다. 실제로 Zen of Assembly를 읽는 것이 좋습니다. 작성한 경우에도 일반적으로 성능 코딩에 대해 생각하는 방법에 관한 것이 었으며 8088/86 성능 튜닝에 대해서는 생각하지 않았습니다.
실제로 어셈블리를 배우는 좋은 방법은 디스어셈블러를 작성하는 것인데, 대부분의 명령어 세트는 가변 워드 길이이고 가변 워드 길이 디스어셈블러는 고급 프로그래밍 문제입니다. ARM과 thumb (thumb2가 아님)은 단어 길이가 고정되어 있으며 디스어셈블러를 매우 쉽게 작성할 수 있습니다.
문제없이 32 비트 코드로 64 비트 CPU로 사용할 수 있습니다. VM을 사용할 필요가 없습니다. – Gunner