Board.KolibriOS.org
http://board.kolibrios.org/

Как писать в строчку на FASM.
http://board.kolibrios.org/viewtopic.php?f=32&t=3235
Страница 1 из 1

Автор:  Yason [ Чт мар 03, 2016 1:44 pm ]
Заголовок сообщения:  Как писать в строчку на FASM.

Решил оформить сообщение из оффтопа, в отдельную тему, может кому пригодится. Можете предлогать свои варианты макросов, если кому интересно. :D

Простейший макрос, который позволяет писать в строчку на FASM, и принимает любое кол-во параметров.
Код:
macro asm_inline [args*]
{
forward
args
}
Код:
; копирует массив байт из buffer1, в buffer2.
asm_inline <mov esi, buffer1>, <mov edi, buffer2>, <mov ecx, 22>, <cld>, <rep movsb>
После припроцессинга, макрос развернётся в следующую конструкцию...
Код:
; копирует массив байт из buffer1, в buffer2.
mov esi, buffer1
mov edi, buffer2
mov ecx, 22
cld
rep movsb

Автор:  Insolor [ Ср мар 16, 2016 9:57 pm ]
Заголовок сообщения:  Re: Как писать в строчку на FASM.

Когда-то тоже делал аналогичный макрос (см. комментарий в самом низу статьи). На практике не применял.

Автор:  Yason [ Чт мар 17, 2016 11:53 am ]
Заголовок сообщения:  Re: Как писать в строчку на FASM.

Insolor писал(а):
Когда-то тоже делал аналогичный макрос (см. комментарий в самом низу статьи).
Да, но я тоже, сам писал. В составе FASM'а, есть очень удобный инструмент "prepsrc.asm". Показывает, во что преобразуются припроцессорные конструкции. :)
А на wasm.ru, уже давно не был. Оформление ужасное сделали - старое было лучше. :shock:
Кстати, эту статью, я впервые, увидел в сборнике "Assembler.ru", помнится, тогда, masm мне сразу не понравился. В нём, синтаксис макро-языка, да и самого ассемблера, просто ужасающий. А компиляция с ключами, вообще убивает. :(
Insolor писал(а):
На практике не применял.
Я тоже. Хотя, может когда-нибудь... :)

Страница 1 из 1 Часовой пояс: UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/