Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: 6310
Последний выпуск: 19.06.2015

Вопросы по FASM

21K
08 ноября 2008 года
evil_rabbit
60 / / 27.08.2008
Здравствуйте, предлагаю задавать сюда свои вопросы по FASM (flat assembler). У меня как-раз есть парочка, поэтому я начну.
> Как получить параметры командной строки
> Как линковать ресурсы
> Что делает команда test
> Как выделить своей программе участок памяти, например в 10Мб
> Как записать в файл несколько одинаковых строк (_lwrite-пишет много и бесконца, а WriteFile-пишет только один раз)
> Как записать структуру типа WndClass(Ex)
> Существует ли виндовская функция для перевода числа в строку и\или обратно (как IntToStr\StrToInt в Delphi)
> Как сделать генератор (псевдо)случайных чисел
> Как написать UDP сервер, при помощи Winsock (я пробовал, но глючил на функции bind)
Если не трудно, помогите пожалуйста.
551
08 ноября 2008 года
Pavia
357 / / 22.04.2004
1) Зависит от ОС смотри API этой ОС и ее описание
2)
3) Команда test аналогична and без занисения результата в регистры.
4) В виндоусе AllocMem
5)
6)
7) Сущществует. prints в строку обратно непомню.
8) По формулам на сайтах с алгоритмами есть, можно из дельфи скопировать. Кнут искуство программирования почитай.
9) Отлаживай.
21K
08 ноября 2008 года
evil_rabbit
60 / / 27.08.2008
ОСь у меня WindoZzz XP, я копался в справочнике по API, весь перерыл, но подходящей функции не нашел, заглянул как это делает Delphi... и вообще опух :). Как-то криво вызывает какую-то функцию (что-то вроде GetParamчётотам), которой нет в файле system.pas и в windows.pas (или я не нашел).
261
09 ноября 2008 года
ahilles
1.5K / / 03.11.2005
сначала вопросы по FASM
1. в Windows функция GetCommandLine (наиболее простой способ)
2. в папке EXAMPLES есть пример MINIPAD, посмотри как там ресурсы делаются
6. в файле win32a.inc всё есть.

а теперь не по FASM
3. Надо сначала посмотреть описание команды в справочнике, а потом задавать вопрос на форуме
4. в windows это VirtualAlloc, если память надо выделять часто и маленькие куски, то HeapAlloc
5. вызови WriteFile несколько раз
7. справочники, гугль и MSDN рулят
8,9 Pavia всё сказал
21K
10 ноября 2008 года
evil_rabbit
60 / / 27.08.2008
У меня есть какой-то справочник по API, но там нет этих AllocMem, VirtualAlloc. Где можно взять такой справочник как у Вас?
14
10 ноября 2008 года
Phodopus
3.3K / / 19.06.2008
Цитата: evil_rabbit
Где можно взять такой справочник ...


Здесь :). Сама вижуал студия к нему необязательна - работает и отдельно.

261
10 ноября 2008 года
ahilles
1.5K / / 03.11.2005
Цитата: evil_rabbit
но там нет этих AllocMem, VirtualAlloc.


AllocMem это не то. тебе надо VirtualAlloc.

261
10 ноября 2008 года
ahilles
1.5K / / 03.11.2005
Цитата: evil_rabbit
Где можно взять такой справочник как у Вас?


самый лучший справочник это google.com. вводишь имя нужной тебе функции и первая ссылка - это ссылка на MSDN! в MSDN всё написано.

21K
11 ноября 2008 года
evil_rabbit
60 / / 27.08.2008
Phodopus - спасибо за ссылку
ahilles - Если я не ошибаюсь MSDN написан на англиском языке, или google также и переводит статьи?
261
11 ноября 2008 года
ahilles
1.5K / / 03.11.2005
гугль вроде переводит, но зачем это надо? да и притом отстойно переводит. надо привыкать к английскому.
21K
12 ноября 2008 года
evil_rabbit
60 / / 27.08.2008
Значит буду привыкать :)
21K
14 ноября 2008 года
evil_rabbit
60 / / 27.08.2008
Доброго времени суток, я тут недавно стукнулся головой об клавиатуру и придумал еще пару вопросов:
1)как линковать ресурсы к приложению (значок например)
2)какие есть директивы компилятора
3)как узнать текущее системное время
3 пункт очень важен для меня, помогите плз.
14
14 ноября 2008 года
Phodopus
3.3K / / 19.06.2008
В следующий раз, пожалуйста, будь осторожнее. Мы переживаем.
1) .rc компилятором ресуросов преобразуется в .res, затем .res даешь на вход линкеру. Так в масм. Есть все основания полагать что в фасм также
2) Компилятора? Может ассемблера?
3) Зависит от операционной среды в которой будет работать программа. В общем случае - системным вызовом. Для Windows - GetLocalTime()
261
14 ноября 2008 года
ahilles
1.5K / / 03.11.2005
Цитата: evil_rabbit

2)какие есть директивы компилятора


какого компилятора? или какого ассемблера? компиляторы бывают разные и ассемблеры тоже

21K
15 ноября 2008 года
evil_rabbit
60 / / 27.08.2008
Phodopus:
1) У меня есть исходник от FASM, так там как-то линкуется непосредственно файл *.ico (там так и написано)
2)Ну да, это вопрос терминологии
3)GetLocalTime вроде бы возвращает значение в милисекундах от запуска ОСи (так написано у мя в справочнике), или я снова ошибся
ahilles:
Ассемблер FASM, он же там и компилятор (2 в 1 как Delphi или C++).
------------------
Очередной тупой вопрос:
Значит сижу вчера, гадаю на процессоре, и понимаю, что хорошо бы написать DLL-ку да с invokашками (в смысле чтобы вызватья их мог из программы), но надписть типа "FORMAT DLL" вызвала ругань со стороны FASM, "FORMAT LIBRARY" тоже не пошёл. В общем я не знаю как, помогите плз.
P.S. пожалуйста не ругайтесь за большое количество глупых вопросов, я ведь не волшебник, только учусь :)
261
15 ноября 2008 года
ahilles
1.5K / / 03.11.2005
Цитата: evil_rabbit

ahilles:
Ассемблер FASM, он же там и компилятор (2 в 1 как Delphi или C++).


в FASM все параметры задаются в самом исходнике. Впрочем, у него есть
два параметра командной строки, но они НИКАК не влияют на программу.

Цитата: evil_rabbit

Очередной тупой вопрос:
Значит сижу вчера, гадаю на процессоре, и понимаю, что хорошо бы написать DLL-ку да с invokашками (в смысле чтобы вызватья их мог из программы), но надписть типа "FORMAT DLL" вызвала ругань со стороны FASM, "FORMAT LIBRARY" тоже не пошёл. В общем я не знаю как, помогите плз.


DLL на FASM надо объявлять так: format PE GUI 4.0 DLL
посмотри папку EXAMPLES, там есть пример по каждому формату, очень много для себя откроешь.

21K
15 ноября 2008 года
evil_rabbit
60 / / 27.08.2008
Цитата: ahilles

посмотри папку EXAMPLES, там есть пример по каждому формату, очень много для себя откроешь.



EXAMPLES?! У меня такой нет. Где её достать можно?

5.3K
15 ноября 2008 года
Somebody
185 / / 24.12.2006
Цитата: evil_rabbit
EXAMPLES?! У меня такой нет. Где её достать можно?


Вместе с самим fasm'ом она. Если нет, скачай fasm с flatassembler.net (last update: 15 November 2008!) (а ещё там отдельно есть раздел с примерами).

Цитата:
У меня есть исходник от FASM, так там как-то линкуется непосредственно файл *.ico


[quote=FASM manual]
3.1.6 Resources
There are two ways to create resources, one is to include the external resource
file created with some other program, and the other one is to create resource
section manually. The latter method, though doesn’t need any additional
program to be involved, is more laborious, but the standard headers provide
the assistance – the set of elementary macroinstructions that serve as bricks
to compose the resource section.
[/quote]

21K
16 ноября 2008 года
evil_rabbit
60 / / 27.08.2008
И че?! Я на этом паскалеподобном англиском плохо понимаю. Здесь написано что-то вроде: линковка внешнего файла (непосредственно), или ресурса. Верно?
Это я и так знаю, мне нужна строчка (или больше) кода, а то надоели "безликие" файлы :)
5.3K
16 ноября 2008 года
Somebody
185 / / 24.12.2006
[size="1"][color="silver"]А в чём выражается "паскалеподобность" английского?[/color][/size]
Там написано[indent]
Есть два метода создания ресурсов: включить внешний файл ресурсов, созданный другой программой, либо создать секцию ресурсов вручную. Последний метод хотя и не требует использования дополнительных программ, но является более трудоёмким; стандартные заголовки предоставляют помощь - набор элементарных макроинструкций, который помогают, как по кирпичикам, составить секцию ресурсов.
[/indent]Второй метод показан в примере Minipad, первый (из FAQа):
section '.rsrc' data readable resource from 'my.res'
21K
19 ноября 2008 года
evil_rabbit
60 / / 27.08.2008
Спасибо, за информацию, буду ковыряться в исходниках (может даже пойму :) ).
А про паскалеподобность - это такая шутка, как в анекдоте.

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог