помогите новичку FASM syntax

Assembler programming questions
  • Здравствуйте!

    Я начинал читать Юрова, он для новичка, как мне показалось очень тяжёлый, особенно первые главы...я вот сейчас читаю Зубкова, гораздо легче идёт, а вообще самое классное чтиво по ассемблеру :) это Питер Абель! Очень доходчиво!
  • Кип Р. Ирвин: "Язык ассемблера для процессоров Intel"
    И мы уже давно не пешки,
    Мы пули, мы орлы, и решки!
    Война ютит бинарный код,
    Умри, или иди вперед!
  • Mario wrote:Юров, Зубков не?
    ну конечно эти книги нормально написаны, но не для начинающего,
    я например начинал писать на C потом перешёл на PHP, JavaScript,
    для меня вполне привычно и нормально, когда переменных можно сделать сколько хочешь,
    и математические функции пишешь как угодно,
    а тут машинный код куча ограничений и ещё асм компилинг даёт жару
    к примеру

    Code: Select all

    X = (Y + 4) * 3;
    в асм это записывается так

    Code: Select all

    mov eax, Y;
    add eax, 4;
    mov ebx, 3;
    imul ebx;
    mov X, eax;
    что за имуль(imul) как он умножает 2 регистра от куда он их берёт,
    я же в команде не указываю какие регистры умножать
    а если скомпилировать так там ещё круче наварот.


    я тут свои соображения накатал в картинке, если в чём то не прав поправьте.
    заранее извиняюсь за мат.
    Attachments
    нах.rar (106.8 KiB)
    картинка
    Downloaded 474 times
    Last edited by scuter on Sat Apr 02, 2011 3:21 am, edited 1 time in total.
  • Старт Оффтопик!

    Уважаемый scuter, не могли бы вы не использовать бранную речь в своих сообщениях, ладно раз, ладно два...но вы кидаетесь словами в тех местах где им не место, если вы эмоциональный, то в русском языке полно слов способных вам помочь выразить всю глубину ваших эмоций...

    Стоп Оффтопик!

    На счёт сообщения, команду MOV ассемблер подменяет на машинную команду в зависимости от операндов, если из регистра в регистр то одна команда, если из памяти в регистр, то другая...да если быть совсем формальным, ассемблер не самый низкий уровень общения с процессором...
  • Схему АЛУ трудно достать? ORLY? Приходите к нам (или не к нам) на микроэлектронику учиться, узнаете, что такое ключ, ячейка памяти, как на ключах собрать логические элементы, как из логических элементов делать шифраторы, дешифраторы, сумматоры, ну а затем на курсе "Микропроцессоры" научитесь собирать из элементарных блоков элементарные АЛУ.
    Хотите программировать в машинных кодах? Начните с покупки советского программируемого микрокалькулятора.

    И, пожалуйста, не используйте на этом форуме обсценную лексику, если возможно.

    Хотите понять, как работает процессор, без всяких долгих учебных курсов? Ищите книгу Гилмора "Введение в микропроцессорную технику". Очень много схем и иллюстраций, где показано, как пошагово работает процессор, и очень подробно описаны основные команды ассемблера (правда, 8-битного)
  • scuter
    Всё-таки нужно для начала определиться с первоочередной целью: научиться писать на ассемблере, разбираться в опкодах или что-то ещё. Если всё-таки научиться писать на ассемлере, то берёшь документацию на FASM, там подробно перечислены все комманды и макроинструкции FASM'а, в первом выпуске E-Zine, подробно описывается как писать приложения для Колибри (ну или на вики есть статья на English).

    P.S. Картинку всё-таки лучше отредактировать.
  • Жутко представить, что scuter скажет, когда узнает о страничном преобразовании памяти :twisted:

    Совет по жизни: не матюкайся без крайней необходимости -- растеряешь собеседников.
    Дисциплина речи (особенно письменной) показывает твой интеллект, логику и способность к самоконтролю.
    Её отсутствие -- раздражает и отбивает всякое желание читать дальше.
  • scuter
    Так ведь все переменные хранятся в ячейках памяти, кто мешает загрузить в регистры, проделать операции, выгрузить из регистров? В случае компилятора ЯВУ ты просто не видишь весь этот код, но он есть. И тем силен ассемблер что некоторые вещи вроде лишних выгрузок и загрузок переменная-регистр можно избежать, отсюда можно плясать к остальным вещам. Надо просто начать думать с "точки зрения ассемблера", хотя это и не просто.

    ASM это я зык мнемонических команд -которые наиболее близки к инструкциям процессора, если не использовать макросы разумеется.
    Да, и я хоть понимаю - многие из нас периодически думают матом, но не стоит такое писать на форуме. Пока это даже не замечание, а просьба.
  • art_zh wrote:Жутко представить, что scuter скажет, когда узнает о страничном преобразовании памяти
    Смеялся. :lol:

    scuter, можешь написать простые функции на Си, и при компиляции включить вывод ассемблерного листинга, чтобы увидеть, в какие команды превратились сишные конструкции. Мне в своё время это сильно помогло в понимании ассемблера. Пробовал, правда, на Паскале, но не суть важно.

    Если увидишь косяки компилятора или (кажущуюся?) неоптимальность сгенерированного кода, не удивляйся. :)
  • ну честно говоря в самом сообщении мата нет никакого,
    всё бранное осталось в картинке, я вот ни как не думал что картинка вставиться как есть,
    к таму же я извинился заранее.

    на счёт предложения
    Sorcerer wrote:Приходите к нам (или не к нам) на микроэлектронику учиться
    с удовольствием приду, мне очень интересно узнать химические составы жидкостей
    которые используют для создания микросхем на кристалле и как умудряются наносить
    фотолитографию с точностью до нанометра, различные элементы схем,
    такие как АЛУ линейная адресация, частотные генераторы, температурные датчики,
    расчёты цепей для микро или нано электроники ну в общем то чего пока я не знаю,
    а знаю я пока что простейшие элементы схем шифраторы остальное в инете не так то просто достать
    везде пишут схемы с готовыми блоками на которых три буквы написаны(сокращение),
    либо вообще ничего дельного не пишут.
  • scuter wrote:на счёт предложения
    Sorcerer wrote: Приходите к нам (или не к нам) на микроэлектронику учиться.
    с удовольствием приду, мне очень интересно узнать химические составы жидкостей
    которые используют для создания микросхем на кристалле и как умудряются наносить
    фотолитографию с точностью до нанометра, различные элементы схем,
    такие как АЛУ линейная адресация, частотные генераторы, температурные датчики,
    расчёты цепей для микро или нано электроники ну в общем то чего пока я не знаю,
    Учти, с плохим зрением туда не берут!
    scuter wrote: а знаю я пока что простейшие элементы схем шифраторы
    Не шифраторы, а триггеры и логические элементы (И, И-НЕ, НЕ, ИЛИ, ИЛИ-НЕ и т.д.). На их основе построены все остальные элементы, такие как: шифраторы, дешифраторы, компараторы, регистры, счётчики, АЦП, ЦАП и сумматоры.
    .
    scuter wrote: остальное в инете не так то просто достать
    везде пишут схемы с готовыми блоками на которых три буквы написаны(сокращение),
    либо вообще ничего дельного не пишут.
    Ну если постараться, то мона.
  • Rock_maniak_forever wrote:
    scuter wrote: а знаю я пока что простейшие элементы схем шифраторы
    Не шифраторы, а триггеры и логические элементы (И, И-НЕ, НЕ, ИЛИ, ИЛИ-НЕ и т.д.). На их основе построены все остальные элементы, такие как: шифраторы, дешифраторы, компараторы, регистры, счётчики, АЦП, ЦАП и сумматоры.
    .
    scuter wrote: остальное в инете не так то просто достать
    везде пишут схемы с готовыми блоками на которых три буквы написаны(сокращение),
    либо вообще ничего дельного не пишут.
    Ну если постараться, то мона.
    очень долго старался, не нашёл.

    кстати на счёт простейших элементов случайно ни это имелось в виду
    http://ru.wikipedia.org/wiki/Триггер
    тут получше написано
    http://www.exponenta.ru/educat/systemat ... ts/ims.asp
  • scuter wrote:
    очень долго старался, не нашёл.

    кстати на счёт простейших элементов случайно ни это имелось в виду
    http://ru.wikipedia.org/wiki/Триггер
    тут получше написано
    http://www.exponenta.ru/educat/systemat ... ts/ims.asp
    Да, оно самое.

    У меня была отличная советская книжка, в ней все азы по цифровой технике очень хорошо описаны (я по ней учился). Так как она не моя, а отцовская, а к нему за книгой каждый раз ездить влом (сканировать тоже), поэтому я стал искать её в электронном виде, в сети. Очень долго искал и недавно нашёл. Если надо, могу выложить.

    Есть ещё одна книга по технологии создания микросхем (тоже отцовская), но в электронном виде у меня её нет.
    Если найду в сети выложу, если не забуду.

    А вообще таких книг, особенно современных, в сети море - качай ни хочу. Правда в современных книгах описание хреновое.
  • asmworld.ru - вот куда нужно отправлять тех, кто хочет научиться программировать на fasm. А точнее вот http://asmworld.ru/uchebnik/

    Это не реклама, а рекомендация..
  • Who is online

    Users browsing this forum: No registered users and 1 guest