Я бы настоятельно рекомендовал вам не изучать ассемблер x86, поскольку ваша первая сборка - это очень уродливый набор инструкций по многим причинам.
У меня есть несколько симуляторов набора команд http://github.com/dwelch67.
thumbulator, thumb - это подмножество набора инструкций ARM, которое в настоящее время является наиболее переносимым набором инструкций для охраны (работаетпочти на всех ядрах ARM).Ортогональный, простой и т. Д. Неплохой первый набор команд.
msp430sim Я думаю, я назвал это симулятор msp430, хороший и простой набор инструкций, очень чистый, очень простой.хороший первый набор инструкций.
симулятор avr, который у меня есть, avriss не так хорошо проверен, так что держитесь подальше некоторое время.неплохой набор инструкций, вероятно, лучше сначала использовать msp430, а потом avr.
У меня есть свой собственный набор инструкций lsasim, созданный для изучения ассемблера.и есть учебник, который вы можете попробовать.
Если вы действительно чувствуете, что сначала должны изучить x86, я настоятельно рекомендую вернуться к истокам intel и начать с 8088/8086.Я раздвоил эмулятор pcemu и разорвал вызовы bios, так что это всего лишь симулятор набора команд, причина для правильного изучения asm, чтобы выучить инструкции, если вы хотите изучать вызовы bios, сначала вы должны изучить язык ассемблера, biosзвонит позже.
совсем недавно я добавил форк процессора янтарного arm2 из opencores.Я сделал так, чтобы он работал в Verilator, и все, что для вас значит, это то, что вы можете запускать его без какого-либо оборудования или дорогих симуляторов, он работает со всеми бесплатными инструментами.Arm2 является предшественником семейства процессоров ARM, широко используемых сегодня.изучение набора инструкций arm2, если вы выберете этот путь, создаст прочную основу для текущего семейства arm, в дополнение к тому, что он не является плохим набором инструкций, намного лучше, чем x86, но имеет много инструкций и множество способов использовать каждую инструкцию, поэтомупоначалу будьте громоздкими.
Amber / arm и thumbulator работают с кросс-компиляторами gcc, которые легко найти, например с CodeSource Lite.msp430 и avr вы можете найти производные gcc или создать свои собственные, если будете следовать их инструкциям.
Если у вас совсем нет навыков программирования, я рекомендую вам начать с изучения питона с трудного пути.это не сложно.самая сложная часть - просто делать то, что он велит вам, не борись с этим, просто набери его и запусти, а затем выясни, что он сделал.Как только вы овладеете базовыми навыками программирования, потратьте примерно полчаса на мое руководство по lsasim, а затем ознакомьтесь с некоторыми основами.Затем перейдите к одному из msp430 или большому пальцу, а затем включите x86.Если вы сначала попробуете несколько нормальных наборов инструкций, x86 будет несколько тривиальным, если вы сначала попробуете x86, это будет болезненно, и вам придется заново изучить некоторые основы, чтобы перейти к другим наборам инструкций.То, что у вас есть аппаратное обеспечение x86, не означает, что вы должны пытаться использовать его для обучения.Это также трудный способ начать.используя симулятор, вы можете, если хотите, посмотреть, что происходитEsp с янтарным ядром arm2.Если вы знаете ассемблер, хотя каждый язык программирования, ассемблер или другой - это просто вопрос синтаксиса