Воскресенье
02.02.2025
16:40
Форма входа
Поиск
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Статистика

    OPEN SOURCE PROJECT

    [ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
    • Страница 1 из 1
    • 1
    Че за FASM ?
    AzPraydДата: Суббота, 20.12.2008, 00:57 | Сообщение # 1
    Рядовой
    Группа: Пользователи
    Сообщений: 3
    Репутация: 1
    Статус: Offline
    В соответствии с надписью в шапке форума, хотелось бы почитать, тут, что то простое и понятное об этом FASM...

    Вот к примеру видно разные ветки о программировании по "32","64" а сам FASM какой?
    -
    Что именно следует почитать, если задача сводится к тому, что бы написать загрузчик ос в максимально сжатый срок, ничего не зная по теме предмета?

    ммм.. еще вот скачал FASM с этого сайта, русифицированный, дык он в 2 раза меньше того FASMа, что лежит на оф. сайте. Версии, похоже, одинаковые.. каг понимать разницу в размере?

    До какой степени примитивные вопросы, тут, можно задавать?

     
    EverhestДата: Суббота, 20.12.2008, 11:37 | Сообщение # 2
    Лейтенант
    Группа: Модераторы
    Сообщений: 14
    Репутация: 4
    Статус: Offline
    Quote
    До какой степени примитивные вопросы, тут, можно задавать?

    До степени <"А я вот два раза кликнул появилось окошко белое такое и там что то мигает, что мне делать?"> Такие вопросы тоже принимаются...

    Quote
    еще вот скачал FASM с этого сайта, русифицированный, дык он в 2 раза меньше того FASMа

    Я просто сжал их UPX'ом, на вирусы тут все проверено, можно качать...

    Quote
    Что именно следует почитать, если задача сводится к тому, что бы написать загрузчик ос в максимально сжатый срок, ничего не зная по теме предмета?
    Хм... Если в сроки жмут, то лучше сделать как мелкософт (хорошие художники копируют, великие тырят)... Думаю можно скачать прикрепленный файл, там загрузчик прокомментирован...
     
    EverhestДата: Суббота, 20.12.2008, 11:41 | Сообщение # 3
    Лейтенант
    Группа: Модераторы
    Сообщений: 14
    Репутация: 4
    Статус: Offline
    Quote
    Вот к примеру видно разные ветки о программировании по "32","64" а сам FASM какой?

    Он сразу идет как 32 и 64 указывается просто если под win строчить то для 32 пишешь:
    Code

    format PE GUI 4.0 ; Формат файлa PE 32
    entry start

    include 'C:\fasm\include\win32a.inc'

    ... cut ...

    section '.code' code readable executable

      start:
             ; Стек уже настроен  
             invoke  CoInitialize,NULL
             invoke  CoCreateInstance,CLSID_TaskbarList,NULL,CLSCTX_INPROC_SERVER,IID_ITaskbarList,ShellTaskBar

             invoke  GetModuleHandle,0
             invoke  DialogBoxParam,eax,IDD_COMDEMO,HWND_DESKTOP,COMDemo,0

             cominvk ShellTaskBar,Release

             invoke  ExitProcess,0
    ... cut ...

    ну а если для 64

    Code

    format PE64 GUI 5.0 ; Формат файла PE 64
    entry start

    include 'C:\fasm\include\win64a.inc' ; Не забудь то что надо указывать полный путь к файлу win64a.inc

    ... cut ...

    section '.code' code readable executable

      start:
             sub     rsp,8           ; Make stack dqword aligned

             invoke  CoInitialize,NULL
             invoke  CoCreateInstance,CLSID_TaskbarList,NULL,CLSCTX_INPROC_SERVER,IID_ITaskbarList,ShellTaskBar

             invoke  GetModuleHandle,0
             invoke  DialogBoxParam,rax,IDD_COMDEMO,HWND_DESKTOP,COMDemo,0

             cominvk ShellTaskBar,Release

             invoke  ExitProcess,0
    ... cut ...
     
    EverhestДата: Суббота, 20.12.2008, 11:42 | Сообщение # 4
    Лейтенант
    Группа: Модераторы
    Сообщений: 14
    Репутация: 4
    Статус: Offline
    ОС BOS:
    Прикрепления: bos_source_0.04.zip (201.1 Kb)
     
    EverhestДата: Суббота, 20.12.2008, 11:58 | Сообщение # 5
    Лейтенант
    Группа: Модераторы
    Сообщений: 14
    Репутация: 4
    Статус: Offline
    Вот еще сборка WinAsm + Fasm + Win HELP чем то напоминает первые версии делфи, если хочешь, можешь поиграться... Потом скажешь стоит выкладывать или нет... Программа на строена на путь "С:\" туда и ставь...

    Сообщение отредактировал Everhest - Суббота, 20.12.2008, 12:07
     
    AzPraydДата: Суббота, 20.12.2008, 15:30 | Сообщение # 6
    Рядовой
    Группа: Пользователи
    Сообщений: 3
    Репутация: 1
    Статус: Offline
    Quote (Everhest)
    Думаю можно скачать прикрепленный файл, там загрузчик прокомментирован...

    Где прикрепленный файл?

    Quote (Everhest)
    Такие вопросы тоже принимаются...

    В какой степени (возможно ли, практично ли) программировать на FASMе под голое железо, то есть в той ситуации когда никакая ос еще не загружена? Хотелось бы пример с комментариями на тему загрузчиков... нагуглить толком не могу ничего, ибо пишут самое разное, и как правило, пропуская важные для понимания подробности.

    FASM, на вид, похож на блокнот, можно ли ожидать каких то расширенных версий? Я имею в виду, то, что обычно называют средой разработки. Хотелось бы минимум калькулятор встроенный и возможность работать с несколькими документами? Кстати и в оф. версии и в вашей, нет никакого HELPa surprised

     
    EverhestДата: Суббота, 20.12.2008, 17:53 | Сообщение # 7
    Лейтенант
    Группа: Модераторы
    Сообщений: 14
    Репутация: 4
    Статус: Offline
    Quote
    Где прикрепленный файл?

    Смотри в Каталоге файлов
     
    AzPraydДата: Суббота, 20.12.2008, 20:19 | Сообщение # 8
    Рядовой
    Группа: Пользователи
    Сообщений: 3
    Репутация: 1
    Статус: Offline
    Quote (Everhest)
    Смотри в Каталоге файлов
    Отписался там, по той ссылке, что Вы мне прислали.

    Еще вопрос:

    Quote (ru.wikipedia.org)
    Используется Intel-синтаксис записи инструкций.

    Единственное существенное отличие от формата, принятого в других ассемблерах (MASM, TASM) — значение ячейки памяти всегда записывается как [label_name], а просто label_name означает адрес (то есть порядковый номер) ячейки. Это позволяет обходится без ключевого слова offset. Также в fasm’e при переопределении размера операнда вместо byte ptr пишется просто byte, вместо word ptr — word и т. д. Не позволяется использовать несколько квадратных скобок в одном операнде, таким образом вместо [bx][si] необходимо писать [bx+si]. Эти изменения синтаксиса привели к более унифицированному и лёгкому для прочтения коду.

    Раз отличии такие незначительные (как кажется на первый взгляд) то возможно существует какой то инструмент конвертирования исходников с других ассемблеров под FASM? К примеру на WASM_ru множество интересных примеров но 90% из них под всякие др. ассемблеры.

     
    fasmДата: Воскресенье, 21.12.2008, 02:04 | Сообщение # 9
    Admin
    Группа: Заблокированные
    Сообщений: 122
    Репутация: 5
    Статус: Offline
    Не главное синтаксис, главное понимание всей системы, поймешь и не нужен будет инструмент для перевода асм кодов на fasm, а сейчас займись изучением... И я тем займусь...
     
    • Страница 1 из 1
    • 1
    Поиск: