Board.KolibriOS.org

Official KolibriOS board
It is currently Wed Jul 17, 2019 11:56 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 34 posts ]  Go to page 1 2 3 Next
Author Message
PostPosted: Wed Oct 13, 2010 3:34 am 
Offline
User avatar

Joined: Mon Feb 09, 2009 4:13 am
Posts: 445
Доброй всем ночи! Ну вот я и вернулся, давно меня тут небыло... Решил выложить свою библиотеку макро функций. В эту библиотеку, входят только причёсанные макро функции, поэтому она ещё очень маленькая и неэффективная. Непричёсанные, а также новые макро функции, буду постепенно причёсывать и выкладывать здесь. Либа будет обнавляться регулярно. Если не трудно, прошу потестить.

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

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

Убедительная просьба, своевременно сообщать обо всех замечанных багах в либе!

Кому надо, качайте. Image

В папке KMLIB:
Папка %DOC% - содержит краткое описание использования макросов.
Папка %EXAMPLES% - содержит примеры.
Папка %TEMPLATES% - содержит шаблоны.
Остальные папки содержат макросы.

БИБЛИОТЕКА ОБНОВЛЕНА (22 ДЕКАБРЯ 2012)

Хеш суммы:
CRC32 - 10CEA58E
MD5 - B8A92E2C30991C1CA1AD720E458963C2
SHA1 - 18E49C33867B9045FDE671A78CAF8099305B4A82

Библиотека выпускаться больше не будет. В связи с тем, что я покидаю проект.
Rock_maniak_forever wrote:
В связи с тем, что у меня нет прав обычного пользователя, и я не могу высказать своё мнение по сабжу одного пользователя-провокатора, и мне затыкают рот, хотя я никого не оскарблял в своём сообщении, я ухожу из проекта навсегда. А затыкают рот, всего лишь потому, что мои политические убеждения, не совпадают с убеждениями пользователя-провокатора данного форума, а модератор защищает этого пользователя-провокатора, и его убеждения. Мне приператься с модератором, надоело. Прошу администратора, удалить все мои аккауты. Раз уж я полностью безправен, я не жилаю участвовать в проекте, дальше.


Attachments:
KMLIB_v0.6.7z [204.7 KiB]
Downloaded 120 times

_________________
\ Маузер в руке, Путин – на крюке! \ Путину – клизму! Смерть капитализму! \ Путин – параша, победа будет наша!\
\ Застрели буржуя в спину! Он не лучше чем скотина! \
Image


Last edited by Rock_maniak_forever on Fri Feb 08, 2013 11:57 am, edited 14 times in total.
Top
   
PostPosted: Wed Oct 13, 2010 8:55 am 
Пара мыслей:
1) Это все-же не библиотека, а сборник макросов.
2) Неплохо бы написать как это используется, хотя бы вкратце - не у всех есть прямое подключение к твоему мозгу. :wink:

В целом хорошо, что не забрасываешь работу.


Top
   
PostPosted: Wed Oct 13, 2010 6:06 pm 
Offline
User avatar

Joined: Mon Feb 09, 2009 4:13 am
Posts: 445
Mario wrote:
1) Это все-же не библиотека, а сборник макросов.


Называй как хочешь, тебе никто не заприщает, а у меня это библиотека. И спорить на эту тему, я не собираюсь!

Mario wrote:
2) Неплохо бы написать как это используется, хотя бы вкратце - не у всех есть прямое подключение к твоему мозгу. :wink:


Для самых недоходчевых! Дока внутри либы, в папке "!DOC". Надо найти и открыть в IE файл, с названием INDEX.Там есть раздел "Введение", в нём вкратце описано как пользоваться либой. Описания макро функций в доке, пока ещё нет, но есть внутри каждого файла с макро функцией.

Товарищи, если ещё что-то непонятно, обращайтесь!

_________________
\ Маузер в руке, Путин – на крюке! \ Путину – клизму! Смерть капитализму! \ Путин – параша, победа будет наша!\
\ Застрели буржуя в спину! Он не лучше чем скотина! \
Image


Top
   
PostPosted: Wed Oct 13, 2010 7:30 pm 
Rock_maniak_forever wrote:
Называй как хочешь, тебе никто не заприщает, а у меня это библиотека. И спорить на эту тему, я не собираюсь!

Впрочем твоя правда:
http://ru.wikipedia.org/wiki/Статическая_библиотека
Quote:
Статические библиотеки
Могут быть в виде исходного текста, подключаемого программистом к своей программе на этапе написания (например, для языка Fortran существует огромное количество библиотек для решения разных задач именно в исходных текстах), либо в виде объектных файлов, присоединяемых (линкуемых) к исполняемой программе на этапе компиляции

Признаю - я ошибался.


Top
   
PostPosted: Wed Oct 20, 2010 7:15 pm 
Offline
User avatar

Joined: Mon Feb 09, 2009 4:13 am
Posts: 445
Добрый всем вечер! Либа немного обнавилась. Находится там же, вначале страницы. Забирайте.

Пожалуйста, сообщайте обо всех замечаных багах в либе.

_________________
\ Маузер в руке, Путин – на крюке! \ Путину – клизму! Смерть капитализму! \ Путин – параша, победа будет наша!\
\ Застрели буржуя в спину! Он не лучше чем скотина! \
Image


Top
   
PostPosted: Sat Oct 30, 2010 2:04 am 
Offline
User avatar

Joined: Mon Feb 09, 2009 4:13 am
Posts: 445
Доброй всем ночи! Либа обновилась до версии 0.03. Качайте! :D

_________________
\ Маузер в руке, Путин – на крюке! \ Путину – клизму! Смерть капитализму! \ Путин – параша, победа будет наша!\
\ Застрели буржуя в спину! Он не лучше чем скотина! \
Image


Top
   
PostPosted: Fri Nov 05, 2010 4:43 am 
Offline
User avatar

Joined: Mon Feb 09, 2009 4:13 am
Posts: 445
Доброй всем ночи! Принимайте пополнение, обнавлено до версии 0.04. Image

_________________
\ Маузер в руке, Путин – на крюке! \ Путину – клизму! Смерть капитализму! \ Путин – параша, победа будет наша!\
\ Застрели буржуя в спину! Он не лучше чем скотина! \
Image


Top
   
PostPosted: Sun Nov 14, 2010 4:22 am 
Offline
User avatar

Joined: Mon Feb 09, 2009 4:13 am
Posts: 445
Доброй всем ночи! Принимайте пополнение, обнавлено до версии 0.05. Image

_________________
\ Маузер в руке, Путин – на крюке! \ Путину – клизму! Смерть капитализму! \ Путин – параша, победа будет наша!\
\ Застрели буржуя в спину! Он не лучше чем скотина! \
Image


Top
   
PostPosted: Sun Nov 14, 2010 2:48 pm 
Offline

Joined: Thu Aug 13, 2009 10:39 am
Posts: 54
Rock_maniak_forever,
я бы хотел иметь под рукой макросы/процедуры такие как перевод числа в строку и перевод строки из различных кодировок в cp866.

p.s. за хотелку сильно не пинайте :)


Top
   
PostPosted: Mon Nov 15, 2010 1:16 am 
Offline
User avatar

Joined: Mon Feb 09, 2009 4:13 am
Posts: 445
ChE wrote:
Rock_maniak_forever,
я бы хотел иметь под рукой макросы/процедуры такие как перевод числа в строку и перевод строки из различных кодировок в cp866.

p.s. за хотелку сильно не пинайте :)

1) Если чего-то очень хочешь, сделай сам или помоги другим! Только без обид!
2) Признаться я сам недавно думал об этом. Поэтому сделаю обязательно, и возможно к следующей версии, но ничего не обещаю.

_________________
\ Маузер в руке, Путин – на крюке! \ Путину – клизму! Смерть капитализму! \ Путин – параша, победа будет наша!\
\ Застрели буржуя в спину! Он не лучше чем скотина! \
Image


Top
   
PostPosted: Mon Nov 15, 2010 1:45 am 
Offline
User avatar

Joined: Mon Oct 27, 2008 10:10 pm
Posts: 811
Rock_maniak_forever wrote:
Признаться я сам недавно думал об этом. Поэтому сделаю обязательно, и возможно к следующей версии, но ничего не обещаю

Данный кусок кода может быть пригодится, он переводит строку с числом в числовой вид. Строка может быть в 10 и 16-ричном виде. Дробные числа не преобразуются.
Code:
;input:
; buf - указатель на строку, число должно быть в 10 или 16 ричном виде
;output:
; eax - число
align 4
proc conv_str_to_int, buf:dword
   xor eax,eax
   push ebx esi
   xor ebx,ebx
   mov esi,[buf]
   cmp word[esi],'0x'
   je .load_digit_16

   .load_digit_10: ;считывание 10-тичных цифр
      mov bl,byte[esi]
      cmp bl,'0'
      jl @f
      cmp bl,'9'
      jg @f
         sub bl,'0'
         imul eax,10
         add eax,ebx
         inc esi
         jmp .load_digit_10
   jmp @f

   .load_digit_16: ;считывание 16-ричных цифр
      add esi,2
   .cycle_16:
      mov bl,byte[esi]
      cmp bl,'0'
      jl @f
      cmp bl,'f'
      jg @f
      cmp bl,'9'
      jle .us1
         cmp bl,'A'
         jl @f ;отсеиваем символы >'9' и <'A'
      .us1: ;составное условие
      cmp bl,'F'
      jle .us2
         cmp bl,'a'
         jl @f ;отсеиваем символы >'F' и <'a'
         sub bl,32 ;переводим символы в верхний регистр, для упрощения их последущей обработки
      .us2: ;составное условие
         sub bl,'0'
         cmp bl,9
         jle .cor1
            sub bl,7 ;convert 'A' to '10'
         .cor1:
         shl eax,4
         add eax,ebx
         inc esi
         jmp .cycle_16
   @@:

   pop esi ebx
   ret
endp


Top
   
PostPosted: Mon Nov 15, 2010 2:54 am 
Offline
User avatar

Joined: Mon Feb 09, 2009 4:13 am
Posts: 445
IgorA
Большое спасибо! Обязательно пригодится. Image

_________________
\ Маузер в руке, Путин – на крюке! \ Путину – клизму! Смерть капитализму! \ Путин – параша, победа будет наша!\
\ Застрели буржуя в спину! Он не лучше чем скотина! \
Image


Top
   
PostPosted: Mon Nov 15, 2010 11:45 am 
Offline

Joined: Thu Aug 13, 2009 10:39 am
Posts: 54
Вот код для перевода целого числа в строку:
Code:
dword_to_STR:
;на входе:
;         EAX число 32 бит
;         ESI указатель на строку
;         EBX разрядность результата (от 2 до 16)
;на выходе:
;         [ESI] ASCIIZ строка
   pushad
   cmp   ebx, 16
   ja   .end
   cmp   eax, 7FFFFFFFh
   jna   .sign_plus
   mov   byte [esi], '-'
   inc   esi
   not   eax
   inc   eax
.sign_plus:
   xor   ecx, ecx
   jmp   .repeat
     
.mesto   db 32 dup (0)
     
.repeat:
   xor   edx, edx
   div   ebx
   mov   edi, eax
   mov   al, dl
   cmp   al, 10
   sbb   al, 69h
   das
   mov   byte [.mesto+ecx], al
   mov   eax, edi
     
   inc   ecx
   cmp   eax, 0
   jz   .endrep
   jmp   .repeat
.endrep:
   mov   edi, .mesto
   add   edi, ecx
.copyrep:
   dec   edi
   mov   dl, byte [edi]
   mov   byte [esi], dl
   inc   esi

   loop   .copyrep

   mov   byte [esi], 0
.end:
   popad
   ret


Top
   
PostPosted: Mon Nov 15, 2010 1:25 pm 
Offline

Joined: Thu Aug 13, 2009 10:39 am
Posts: 54
Вот ещё, перевёл часть листинга из книжки Кулакова на FASM.
Есть перевод целых, дробных чисел в строку и обратно (в десятичной системе счисления). Думаю, можно использовать как основу.

p.s. Код сильно не проверял, но вроде работает. 8)


Attachments:
str.7z [4.14 KiB]
Downloaded 163 times
Top
   
PostPosted: Mon Nov 15, 2010 7:40 pm 
Offline
User avatar

Joined: Mon Feb 09, 2009 4:13 am
Posts: 445
ChE
Ну вот с этого и надо было начинать! Спасибо. :D

P.S. К следующей версии будет готово.

_________________
\ Маузер в руке, Путин – на крюке! \ Путину – клизму! Смерть капитализму! \ Путин – параша, победа будет наша!\
\ Застрели буржуя в спину! Он не лучше чем скотина! \
Image


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 34 posts ]  Go to page 1 2 3 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


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:  
Powered by phpBB® Forum Software © phpBB Limited