1) Вы не можете на самом деле «повредить» свою систему, запустив программу сборки, чем, скажем, из C. В современной ОС худшее, что вы обычно получите, это сбой вашего процесса. Хотя может быть немного проще вывести ваш процесс из кода ассемблера непреднамеренно. Если вы хотите получить что-то полезное из эмулятора, посмотрите Bochs или QEMU - вместо того, чтобы просто поставить песочницу, у них есть полезные инструменты отладки. Но без vm все будет в порядке, если вы будете писать + тестировать код на своей обычной ОС с помощью обычного отладчика.
2) На самом деле нет. Вы можете сделать переносимым между операционными системами (но с тем же процессором), как вы делаете это для C, но сборка между процессорами просто не имеет смысла (если вы хотите это сделать, вы также можете использовать C, .NET или Java байт-код ).
3) Предмет многих огненных войн. Зависит от того, как вы на это смотрите ... Ассемблер на самом деле просто компилятор, который имеет дело с языком ассемблера. Там много вкусов сборки, некоторые выше, чем другие; большинство из доступных для x86 имеет поддержку макросов. HLA добавляет поддержку lot макросов и синтаксис, который многим не нравится, плюс большую стандартную библиотеку. Не моя чашка чая (я бы лучше использовал «настоящую» HLL), но в моей книге это все еще язык ассемблера.
4) http://www.asmcommunity.net/board/, http://board.flatassembler.net :) - держаться подальше от каналов IRC. Кроме того, держитесь подальше от usenet alt.lang.assembly, он был почти уничтожен несколькими подлыми людьми.
Что касается пары ваших причин изучения ассемблера:
6. Если я освою сборку, изучение HLL будет проще.
Не обязательно, и это может быть даже сложнее, если вы «сделаете слишком много», прежде чем копаться в HLL. Я обнаружил, что некоторые знания в области машинной архитектуры могут привести к написанию лучшего программного обеспечения, но только если вы научитесь не зацикливаться на крошечных нерелевантных деталях.
7.Хотите иметь что-то, что можно предложить при приеме на работу, которой у других не будет.
Не обязательно поможет вам, так как сборка совершенно не имеет значения в большинстве позиций. Черт возьми, вы рискуете предубеждением типа «о, он никогда не добьется успеха, заблудившись в бесполезной микрооптимизации».