Можно ли написать программу на Java ... которая может компилировать файлы .asm ...?
Вы можете использовать (почти) любой язык программирования, способный читатьтекстовые файлы и написание двоичных файлов.
Таким образом, вы можете использовать для этого Java - по крайней мере, теоретически.
Если это так, как бы я поступил так ...?
Я исследовал Java и сборку ассемблера ...
К сожалению, ассемблеры и компиляторы обычно не написаны на Java.
С большой вероятностью вам придется разрабатывать всефункции, которые вам нужны с нуля!
Нужно ли использовать уже сделанный ассемблер, например nasm?
Вопрос здесь почему васхочу иметь ассемблер на Java.
Вы можете написать ассемблер на Java, но это будет много работы.
Если выхотите включить ассемблер в программу Java, которую вы будете продавать на коммерческой основе, это может быть необходимопопробуйте написать свой собственный ассемблер, потому что лицензирование не позволяет вам поставлять ваш продукт вместе с «nasm».
Если вы хотите написать ассемблер только для практики (потому что вы хотите получить опыт в разработке компилятора), то еготакже имеет смысл потратить на это 100 часов и более.
Во всех других случаях я могу себе представить, что не имеет смысла тратить один месяц на разработку программного обеспечения, которое можно бесплатно загрузить из Интернета.