Написал я маленькую программку: она считывает с клавиатуры число и отображает его в двоичной, десятичной, 16-ричной системах счисления. Понимает такие введеные числа: BCEBCADh, -99, 54d, 111011011010B.
Написана, наверно, коряво. Короче, критикуйте
http://e-al.narod.ru/h2d2b.zip
hex2dec2bin
Скриншот в ленте новостей
http://coolthemes.narod.ru/news.html
http://coolthemes.narod.ru/news.html
Хорошая программа мне понравилась. Есть где применить, калькулятор Велика, не всегда удобен.
Могу посоветовать сделать процедуры отдельным кодом, чтобы можно было вставлять в другие программы. Можно конечно и в виде макроса оформить, но я сам не знаю, по каким правилам записываются макросы для FASM.
Могу посоветовать сделать процедуры отдельным кодом, чтобы можно было вставлять в другие программы. Можно конечно и в виде макроса оформить, но я сам не знаю, по каким правилам записываются макросы для FASM.
Процедуры для перевода строки в число?Mario79 wrote: Могу посоветовать сделать процедуры отдельным кодом, чтобы можно было вставлять в другие программы.
Извиняюсь я немного глюкнул.
По ходу ты пользовался встроенными средствами оси. Или я не прав? Просто мне час некогда разбирать твой код.
Да я имел в виду процедуру перевода числа в строку и строки в число. Но чтобы можно было выбирать в обоих случаях, в какой системе исчисления рассматривается число в строке.
По ходу ты пользовался встроенными средствами оси. Или я не прав? Просто мне час некогда разбирать твой код.
Да я имел в виду процедуру перевода числа в строку и строки в число. Но чтобы можно было выбирать в обоих случаях, в какой системе исчисления рассматривается число в строке.
Строку в число я перевожу сам. А число в разных системах счисления вывожу средствами оси.
My critic is that you didnt post this on other forums. I will do that if you wish.
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.
This is my first program I wrote for MeOS so I think there might be some bugs.
Я немного переписал hex2dec2bin, добавил возможность сдвигать число в двоичное представлении на 1 бит влево и вправо (сдвиги обычные и арифметические). Думаю, пригодится тому, кто начинает изучать ассемблер.
ссылка:
http://e-al.narod.ru/h2d2b02.zip
ссылка:
http://e-al.narod.ru/h2d2b02.zip
IgorA
1. Зачем кнопка "Ввод"? Пусть значение меняется каждый раз при нажатии клавиши. Или хотя бы Энтер тогда уж пусть будет, но лучше первое.
2. Почему вводимые символы и выделение ЗЕЛНЫЕ?! Посмотри код программы RUN, там выделение и буквы системных цветов.
1. Зачем кнопка "Ввод"? Пусть значение меняется каждый раз при нажатии клавиши. Или хотя бы Энтер тогда уж пусть будет, но лучше первое.
2. Почему вводимые символы и выделение ЗЕЛНЫЕ?! Посмотри код программы RUN, там выделение и буквы системных цветов.
Из хаоса в космос
наверное стоит добавить Enter, просто все чистил потому и убрал на клавиатуреLeency wrote:1. Зачем кнопка "Ввод"? Пусть значение меняется каждый раз при нажатии клавиши.
я использовал макрос edit_boxes_set_sys_color, который как я думал меняет цвет текста на системный, оказалось что нет. Можно добавить в макрос edit_boxes_set_sys_color следущие строки:Leency wrote:2. Почему вводимые символы и выделение ЗЕЛНЫЕ?
Code: Select all
push dword [esi+32] ;цвет текста в рабочей области окна
pop dword ed_text_color
Пробовал сделать через Enter, пока не получается. Когда получится сделаю изменения на svn.
Сделал подобную программу для перевода числа из строки в double и float.
Для перевода чисел в double использовал код который нашел ChE.
Сделал подобную программу для перевода числа из строки в double и float.
Для перевода чисел в double использовал код который нашел ChE.
- Attachments
-
-
str_double.7z (5.91 KiB)
- преобразование числа из строки в float и double
Downloaded 419 times
-
В ревизии 2162 добавил программу str_double.
В программу внес дополнительную опцию для преобразования дробных чисел float (в машинном виде) в строку.
Кстати в файле str.asm, который дал ChE нашел 2 ошибки в функции DoubleFloat_to_String. В некоторых местах нужно заменить регистры bx, cx на ebx, ecx. Иначе функция не работает если при входе в функцию старшие байты регистров не равны 0.
Без этого файла программу я сам бы не сделал.
В программу внес дополнительную опцию для преобразования дробных чисел float (в машинном виде) в строку.
Кстати в файле str.asm, который дал ChE нашел 2 ошибки в функции DoubleFloat_to_String. В некоторых местах нужно заменить регистры bx, cx на ebx, ecx. Иначе функция не работает если при входе в функцию старшие байты регистров не равны 0.
Без этого файла программу я сам бы не сделал.
Хорошо, рад что еще кто-то использует опыт Кулакова.
Однако мне думается лучше файлы описания размещать в папке Docs или любой подобной рядом с программой - меньше путаницы.
Однако мне думается лучше файлы описания размещать в папке Docs или любой подобной рядом с программой - меньше путаницы.
Уже забыл про это. Да изменения получились, отправил в ревизии 2201. Сразу отправить не удалось, потому что файл был изменен.Leency wrote:Уже получилось?
Who is online
Users browsing this forum: No registered users and 0 guests