Hello nasm assembler
В продолжение темы про иерархию памяти я решил написать пост про регистры процессора. Однако, это оказалось очень большой темой, о которой я не могу написать кратенько. Видимо, потому что плохо в этом разбираюсь. Программируя на Java мне никогда не приходилось оперировать регистрами. Это очень низкоуровневые вещи. Однако, чтобы разбираться с проблемами в производительности о регистрах надо знать. Для того, чтобы потрогать регистры я установил Nasm. Он первый попался под руку и поддерживал Windows синтаксис, который мне показался понятнее Linux варианта.
brew install nasm
В первой же ссылке в Google на mac os assembler hello world оказалось:
Если этот код сохранить в файле 64.asm и выполнить первую строчку из файла, то она дейсвительно выведет:
Hello, world!
Viola!
Почему так происходит я постараюсь рассказать в следующих постах.