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

KMLIB (Kolibri Macro Library) v0.08 (22 ДЕКАБРЯ 2012)
http://board.kolibrios.org/viewtopic.php?f=24&t=1581
Page 1 of 3

Author:  Rock_maniak_forever [ Wed Oct 13, 2010 3:34 am ]
Post subject:  KMLIB (Kolibri Macro Library) v0.08 (22 ДЕКАБРЯ 2012)

Доброй всем ночи! Ну вот я и вернулся, давно меня тут небыло... Решил выложить свою библиотеку макро функций. В эту библиотеку, входят только причёсанные макро функции, поэтому она ещё очень маленькая и неэффективная. Непричёсанные, а также новые макро функции, буду постепенно причёсывать и выкладывать здесь. Либа будет обнавляться регулярно. Если не трудно, прошу потестить.

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

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

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

Кому надо, качайте. 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 129 times

Author:  Mario [ Wed Oct 13, 2010 8:55 am ]
Post subject:  Re: KMLIB (Kolibri Macro Library)

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

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

Author:  Rock_maniak_forever [ Wed Oct 13, 2010 6:06 pm ]
Post subject:  Re: KMLIB (Kolibri Macro Library)

Mario wrote:
1) Это все-же не библиотека, а сборник макросов.


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

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


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

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

Author:  Mario [ Wed Oct 13, 2010 7:30 pm ]
Post subject:  Re: KMLIB (Kolibri Macro Library)

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

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

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

Author:  Rock_maniak_forever [ Wed Oct 20, 2010 7:15 pm ]
Post subject:  Re: KMLIB (Kolibri Macro Library)

Добрый всем вечер! Либа немного обнавилась. Находится там же, вначале страницы. Забирайте.

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

Author:  Rock_maniak_forever [ Sat Oct 30, 2010 2:04 am ]
Post subject:  Re: KMLIB (Kolibri Macro Library)

Доброй всем ночи! Либа обновилась до версии 0.03. Качайте! :D

Author:  Rock_maniak_forever [ Fri Nov 05, 2010 4:43 am ]
Post subject:  Re: KMLIB (Kolibri Macro Library)

Доброй всем ночи! Принимайте пополнение, обнавлено до версии 0.04. Image

Author:  Rock_maniak_forever [ Sun Nov 14, 2010 4:22 am ]
Post subject:  Re: KMLIB (Kolibri Macro Library)

Доброй всем ночи! Принимайте пополнение, обнавлено до версии 0.05. Image

Author:  ChE [ Sun Nov 14, 2010 2:48 pm ]
Post subject:  Re: KMLIB (Kolibri Macro Library) v0.05

Rock_maniak_forever,
я бы хотел иметь под рукой макросы/процедуры такие как перевод числа в строку и перевод строки из различных кодировок в cp866.

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

Author:  Rock_maniak_forever [ Mon Nov 15, 2010 1:16 am ]
Post subject:  Re: KMLIB (Kolibri Macro Library) v0.05

ChE wrote:
Rock_maniak_forever,
я бы хотел иметь под рукой макросы/процедуры такие как перевод числа в строку и перевод строки из различных кодировок в cp866.

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

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

Author:  IgorA [ Mon Nov 15, 2010 1:45 am ]
Post subject:  Re: KMLIB (Kolibri Macro Library) v0.05

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

Author:  Rock_maniak_forever [ Mon Nov 15, 2010 2:54 am ]
Post subject:  Re: KMLIB (Kolibri Macro Library) v0.05

IgorA
Большое спасибо! Обязательно пригодится. Image

Author:  ChE [ Mon Nov 15, 2010 11:45 am ]
Post subject:  Re: KMLIB (Kolibri Macro Library) v0.05

Вот код для перевода целого числа в строку:
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

Author:  ChE [ Mon Nov 15, 2010 1:25 pm ]
Post subject:  Re: KMLIB (Kolibri Macro Library) v0.05

Вот ещё, перевёл часть листинга из книжки Кулакова на FASM.
Есть перевод целых, дробных чисел в строку и обратно (в десятичной системе счисления). Думаю, можно использовать как основу.

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

Attachments:
str.7z [4.14 KiB]
Downloaded 173 times

Author:  Rock_maniak_forever [ Mon Nov 15, 2010 7:40 pm ]
Post subject:  Re: KMLIB (Kolibri Macro Library) v0.05

ChE
Ну вот с этого и надо было начинать! Спасибо. :D

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

Page 1 of 3 All times are UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/