Page 1 of 3
KMLIB (Kolibri Macro Library) v0.08 (22 ДЕКАБРЯ 2012)
Posted: Wed Oct 13, 2010 3:34 am
by Rock_maniak_forever
Доброй всем ночи! Ну вот я и вернулся, давно меня тут небыло... Решил выложить свою библиотеку макро функций. В эту библиотеку, входят только причёсанные макро функции, поэтому она ещё очень маленькая и неэффективная. Непричёсанные, а также новые макро функции, буду постепенно причёсывать и выкладывать здесь. Либа будет обнавляться регулярно. Если не трудно, прошу потестить.
Если кто ни-будь желает помочь (поделиться) одним или двумя макросами, которых нет в либе, обращайтесь - не стесняйтесь.
Внимание! Библиотека не оптимизирована и программист я плохой, поэтому прошу не судить меня слишком строго. Конструктивные советы, предложения и замечания, касающиеся библиотеки, приветствуются.
Убедительная просьба, своевременно сообщать обо всех замечанных багах в либе!
Кому надо, качайте.
В папке KMLIB:
Папка
%DOC% - содержит краткое описание использования макросов.
Папка
%EXAMPLES% - содержит примеры.
Папка
%TEMPLATES% - содержит шаблоны.
Остальные папки содержат макросы.
БИБЛИОТЕКА ОБНОВЛЕНА (22 ДЕКАБРЯ 2012)
Хеш суммы:
CRC32 - 10CEA58E
MD5 - B8A92E2C30991C1CA1AD720E458963C2
SHA1 - 18E49C33867B9045FDE671A78CAF8099305B4A82
Библиотека выпускаться больше не будет. В связи с тем, что я покидаю проект.
Rock_maniak_forever wrote:В связи с тем, что у меня нет прав обычного пользователя, и я не могу высказать своё мнение по сабжу одного пользователя-провокатора, и мне затыкают рот, хотя я никого не оскарблял в своём сообщении, я ухожу из проекта навсегда. А затыкают рот, всего лишь потому, что мои политические убеждения, не совпадают с убеждениями пользователя-провокатора данного форума, а модератор защищает этого пользователя-провокатора, и его убеждения. Мне приператься с модератором, надоело. Прошу администратора, удалить все мои аккауты. Раз уж я полностью безправен, я не жилаю участвовать в проекте, дальше.
Re: KMLIB (Kolibri Macro Library)
Posted: Wed Oct 13, 2010 8:55 am
by Mario
Пара мыслей:
1) Это все-же не библиотека, а сборник макросов.
2) Неплохо бы написать как это используется, хотя бы вкратце - не у всех есть прямое подключение к твоему мозгу.
В целом хорошо, что не забрасываешь работу.
Re: KMLIB (Kolibri Macro Library)
Posted: Wed Oct 13, 2010 6:06 pm
by Rock_maniak_forever
Mario wrote:
1) Это все-же не библиотека, а сборник макросов.
Называй как хочешь, тебе никто не заприщает, а у меня это библиотека. И спорить на эту тему, я не собираюсь!
Mario wrote:
2) Неплохо бы написать как это используется, хотя бы вкратце - не у всех есть прямое подключение к твоему мозгу.
Для самых недоходчевых! Дока внутри либы, в папке "
!DOC". Надо найти и открыть в IE файл, с названием
INDEX.Там есть раздел "
Введение", в нём вкратце описано как пользоваться либой. Описания макро функций в доке, пока ещё нет, но есть внутри каждого файла с макро функцией.
Товарищи, если ещё что-то непонятно, обращайтесь!
Re: KMLIB (Kolibri Macro Library)
Posted: Wed Oct 13, 2010 7:30 pm
by Mario
Rock_maniak_forever wrote:
Называй как хочешь, тебе никто не заприщает, а у меня это библиотека. И спорить на эту тему, я не собираюсь!
Впрочем твоя правда:
http://ru.wikipedia.org/wiki/Статическая_библиотека
Статические библиотеки
Могут быть в виде исходного текста, подключаемого программистом к своей программе на этапе написания (например, для языка Fortran существует огромное количество библиотек для решения разных задач именно в исходных текстах), либо в виде объектных файлов, присоединяемых (линкуемых) к исполняемой программе на этапе компиляции
Признаю - я ошибался.
Re: KMLIB (Kolibri Macro Library)
Posted: Wed Oct 20, 2010 7:15 pm
by Rock_maniak_forever
Добрый всем вечер! Либа немного обнавилась. Находится там же, вначале страницы. Забирайте.
Пожалуйста, сообщайте обо всех замечаных багах в либе.
Re: KMLIB (Kolibri Macro Library)
Posted: Sat Oct 30, 2010 2:04 am
by Rock_maniak_forever
Доброй всем ночи! Либа обновилась до версии 0.03. Качайте!
Re: KMLIB (Kolibri Macro Library)
Posted: Fri Nov 05, 2010 4:43 am
by Rock_maniak_forever
Доброй всем ночи! Принимайте пополнение, обнавлено до версии 0.04.
Re: KMLIB (Kolibri Macro Library)
Posted: Sun Nov 14, 2010 4:22 am
by Rock_maniak_forever
Доброй всем ночи! Принимайте пополнение, обнавлено до версии 0.05.
Re: KMLIB (Kolibri Macro Library) v0.05
Posted: Sun Nov 14, 2010 2:48 pm
by ChE
Rock_maniak_forever,
я бы хотел иметь под рукой макросы/процедуры такие как перевод числа в строку и перевод строки из различных кодировок в cp866.
p.s. за хотелку сильно не пинайте
Re: KMLIB (Kolibri Macro Library) v0.05
Posted: Mon Nov 15, 2010 1:16 am
by Rock_maniak_forever
ChE wrote:Rock_maniak_forever,
я бы хотел иметь под рукой макросы/процедуры такие как перевод числа в строку и перевод строки из различных кодировок в cp866.
p.s. за хотелку сильно не пинайте
1) Если чего-то очень хочешь, сделай сам или помоги другим! Только без обид!
2) Признаться я сам недавно думал об этом. Поэтому сделаю обязательно, и возможно к следующей версии, но ничего не обещаю.
Re: KMLIB (Kolibri Macro Library) v0.05
Posted: Mon Nov 15, 2010 1:45 am
by IgorA
Rock_maniak_forever wrote:Признаться я сам недавно думал об этом. Поэтому сделаю обязательно, и возможно к следующей версии, но ничего не обещаю
Данный кусок кода может быть пригодится, он переводит строку с числом в числовой вид. Строка может быть в 10 и 16-ричном виде. Дробные числа не преобразуются.
Code: Select all
;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
Re: KMLIB (Kolibri Macro Library) v0.05
Posted: Mon Nov 15, 2010 2:54 am
by Rock_maniak_forever
IgorA
Большое спасибо! Обязательно пригодится.
Re: KMLIB (Kolibri Macro Library) v0.05
Posted: Mon Nov 15, 2010 11:45 am
by ChE
Вот код для перевода целого числа в строку:
Code: Select all
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
Re: KMLIB (Kolibri Macro Library) v0.05
Posted: Mon Nov 15, 2010 1:25 pm
by ChE
Вот ещё, перевёл часть листинга из книжки Кулакова на FASM.
Есть перевод целых, дробных чисел в строку и обратно (в десятичной системе счисления). Думаю, можно использовать как основу.
p.s. Код сильно не проверял, но вроде работает.
Re: KMLIB (Kolibri Macro Library) v0.05
Posted: Mon Nov 15, 2010 7:40 pm
by Rock_maniak_forever
ChE
Ну вот с этого и надо было начинать! Спасибо.
P.S. К следующей версии будет готово.