Я нахожусь на Mac с Snow Leopard (10.6.3). Я слышу, что ассемблер, с которым я работаю, должен быть допустимым с чипсетом, который Вы используете. Я абсолютно плохо знаком с этим, у меня есть основные знания в C и программировании Objective C и почти серьезной подготовке в PHP. Я всегда хотел видеть то, о чем блок - все.
Учебное руководство, на которое я буду смотреть, VTC [ссылка].
То, что я хочу знать: учебные руководства то, что я собираюсь сделать совместимый с версией блока на Mac, который я имею?
Я абсолютно плохо знаком с этим языком, хотя я действительно вспоминаю изучение части его путь, путь назад в день. У меня действительно есть XCode и что я задаюсь вопросом, то, какой документ я открыл бы в XCode для работы с блоком, и Mac имеет созданный в Hex-редакторе (когда он приходит время к необходимости в нем)?
Используемый вами язык ассемблера не зависит на вашей ОС, а скорее на наборе инструкций вашего процессора. Судя по вашей версии Mac, я бы сказал, что вы используете процессор Intel - поэтому вам нужно изучить сборку x86 или amd64.
Сборка для любого процессора будет более или менее одинаковой по концепции. Однако сложность зависит от процессора. Судя по тому, что я вижу на вашем сайте, вы выполняете ассемблер x86 (x86 - это набор инструкций, который используют все процессоры Intel потребительского класса, которые используются в последних Mac и всех ПК), что может оказаться довольно сложным, но не подавляющим. если учишь по шагам.
Я полагаю, XCode работает с простыми текстовыми файлами. Hex Fiend для ваших нужд редактирования гекса, если вы их встретите.
Помните, что Assembly крайне низкоуровневая . Никаких «если», «пока» или вообще никаких циклов управления, кроме «выполнить операцию и перейти, если результат (не) равен нулю / равенству» (если только ваш ассемблер не предоставляет их в качестве синтаксического сахара, что, на мой взгляд, превосходит цель). Знания PHP будут полезны в лучшем случае косвенно. Однако ваши знания C должны хорошо служить вам.
Связанные руководства выглядят так, как будто они используют NASM , который входит в комплект Mac. Однако системные вызовы обычно различаются на разных платформах (они сильно различаются между Mac и Linux), и, не просматривая учебные руководства, трудно понять, будут ли они нацелены на разные платформы (хотя я думаю, что нет). Лучше установить SPIM и изучить сборку MIPS, которая в любом случае проще, чем x86.
Ассемблер зависит от архитектуры команд. Чипы - это реализация архитектуры команд.
На мой взгляд, лучше всего получить TextWrangler и напрямую скомпилировать его с помощью gcc.
Требуемое расширение файла - .s
.
Хороший способ забрать сборку - это получить встроенное устройство, с которым можно поиграться.
У TI есть несколько хороших, недорогих девкитов , с которыми можно поиграть. Я покопался в комплекте Chronos (50 долларов), в котором есть цифровые часы с программируемым микроконтроллером MSP430 с беспроводным соединением с вашим компьютером. Это довольно мило.
Обновление: Я забыл упомянуть Arduino . Это отличная открытая платформа с множеством интересных периферийных устройств и онлайн-проектов.