Board.KolibriOS.org

Official KolibriOS board
It is currently Mon Apr 22, 2019 1:33 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 3 posts ] 
Author Message
PostPosted: Thu Mar 03, 2016 1:44 pm 
Offline
User avatar

Joined: Sat Sep 27, 2014 2:59 pm
Posts: 102
Решил оформить сообщение из оффтопа, в отдельную тему, может кому пригодится. Можете предлогать свои варианты макросов, если кому интересно. :D

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


Top
   
PostPosted: Wed Mar 16, 2016 9:57 pm 
Offline

Joined: Thu Feb 19, 2009 12:57 pm
Posts: 68
Когда-то тоже делал аналогичный макрос (см. комментарий в самом низу статьи). На практике не применял.


Top
   
PostPosted: Thu Mar 17, 2016 11:53 am 
Offline
User avatar

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


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 3 posts ] 

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited