Page 1 of 2

hex2dec2bin

Posted: Thu Jul 14, 2005 5:11 pm
by ealex
Написал я маленькую программку: она считывает с клавиатуры число и отображает его в двоичной, десятичной, 16-ричной системах счисления. Понимает такие введеные числа: BCEBCADh, -99, 54d, 111011011010B.
Написана, наверно, коряво. Короче, критикуйте

http://e-al.narod.ru/h2d2b.zip

Posted: Sun Jul 17, 2005 11:47 pm
by Wildwest
Скриншот в ленте новостей
http://coolthemes.narod.ru/news.html

Posted: Thu Jul 21, 2005 8:42 pm
by Mario79
Хорошая программа мне понравилась. Есть где применить, калькулятор Велика, не всегда удобен.
Могу посоветовать сделать процедуры отдельным кодом, чтобы можно было вставлять в другие программы. Можно конечно и в виде макроса оформить, но я сам не знаю, по каким правилам записываются макросы для FASM.

Posted: Fri Jul 22, 2005 1:43 pm
by ealex
Mario79 wrote: Могу посоветовать сделать процедуры отдельным кодом, чтобы можно было вставлять в другие программы.
Процедуры для перевода строки в число?

Posted: Fri Jul 22, 2005 5:59 pm
by Mario79
Извиняюсь я немного глюкнул. :-)
По ходу ты пользовался встроенными средствами оси. Или я не прав? Просто мне час некогда разбирать твой код.
Да я имел в виду процедуру перевода числа в строку и строки в число. Но чтобы можно было выбирать в обоих случаях, в какой системе исчисления рассматривается число в строке.

Posted: Fri Jul 22, 2005 6:31 pm
by ealex
Строку в число я перевожу сам. А число в разных системах счисления вывожу средствами оси.

Posted: Sat Aug 06, 2005 11:09 am
by Luka666
My critic is that you didnt post this on other forums. I will do that if you wish.

Posted: Sat Aug 06, 2005 4:31 pm
by ealex
Of course you can post it on other forums!

This is my first program I wrote for MeOS so I think there might be some bugs.

Posted: Thu Nov 16, 2006 8:31 pm
by ealex
Я немного переписал hex2dec2bin, добавил возможность сдвигать число в двоичное представлении на 1 бит влево и вправо (сдвиги обычные и арифметические). Думаю, пригодится тому, кто начинает изучать ассемблер.

ссылка:
http://e-al.narod.ru/h2d2b02.zip

Re: hex2dec2bin

Posted: Mon Sep 05, 2011 12:24 pm
by Leency
IgorA
1. Зачем кнопка "Ввод"? Пусть значение меняется каждый раз при нажатии клавиши. Или хотя бы Энтер тогда уж пусть будет, но лучше первое.
2. Почему вводимые символы и выделение ЗЕЛНЫЕ?! Посмотри код программы RUN, там выделение и буквы системных цветов.

Re: hex2dec2bin

Posted: Mon Sep 05, 2011 5:14 pm
by IgorA
Leency wrote:1. Зачем кнопка "Ввод"? Пусть значение меняется каждый раз при нажатии клавиши.
наверное стоит добавить Enter, просто все чистил потому и убрал на клавиатуре
Leency wrote:2. Почему вводимые символы и выделение ЗЕЛНЫЕ?
я использовал макрос edit_boxes_set_sys_color, который как я думал меняет цвет текста на системный, оказалось что нет. Можно добавить в макрос edit_boxes_set_sys_color следущие строки:

Code: Select all

	push 	dword [esi+32] ;цвет текста в рабочей области окна
	pop 	dword ed_text_color

Re: hex2dec2bin

Posted: Mon Sep 05, 2011 11:27 pm
by IgorA
Пробовал сделать через Enter, пока не получается. Когда получится сделаю изменения на svn.
Сделал подобную программу для перевода числа из строки в double и float.
Для перевода чисел в double использовал код который нашел ChE.

Re: hex2dec2bin

Posted: Wed Sep 07, 2011 7:07 pm
by IgorA
В ревизии 2162 добавил программу str_double.
В программу внес дополнительную опцию для преобразования дробных чисел float (в машинном виде) в строку.
Кстати в файле str.asm, который дал ChE нашел 2 ошибки в функции DoubleFloat_to_String. В некоторых местах нужно заменить регистры bx, cx на ebx, ecx. Иначе функция не работает если при входе в функцию старшие байты регистров не равны 0.
Без этого файла программу я сам бы не сделал.

Re: hex2dec2bin

Posted: Wed Sep 07, 2011 7:51 pm
by Mario
Хорошо, рад что еще кто-то использует опыт Кулакова. :)
Однако мне думается лучше файлы описания размещать в папке Docs или любой подобной рядом с программой - меньше путаницы.

Re: hex2dec2bin

Posted: Fri Sep 16, 2011 9:40 pm
by IgorA
Leency wrote:Уже получилось?
Уже забыл про это. Да изменения получились, отправил в ревизии 2201. Сразу отправить не удалось, потому что файл был изменен.