Форум программистов  
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 20.12.2016, 18:11   #1
Berlioz
Изучающий C и ASM
Форумчанин
 
Регистрация: 25.05.2012
Адрес: Новосибирск
Сообщений: 89
Репутация: 10
Вопрос Преобразование 256 битного числа в строку в софтине, работающей в реальном режиме

Всех приветствую!

Есть необходимость преобразовать 256 битное (массив из 8 uint) число в строку в софтине, работающей в реальном режиме. ОС отсутствует.

Вопрос: как можно это сделать?

P.S. Мне нужно понять суть, код вторичен. Решений на просторах инета не нашел
P.S.2 Сначала думал вычленять кусками по 4 бита, а далее, основываясь на том, что 16=10+6 и можно попытаться решить уравнение x/16 = А/10 + В/6 и вывести формулу, но идея эта провалилась
Berlioz вне форума   Ответить с цитированием
Старый 20.12.2016, 18:25   #2
evg_m
Профессионал
 
Регистрация: 20.04.2008
Сообщений: 4,420
Репутация: 1965
По умолчанию

http://www.programmersforum.ru/showthread.php?t=295314
__________________
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума   Ответить с цитированием
Старый 20.12.2016, 18:29   #3
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 16,698
Репутация: 5909
По умолчанию

Наверно побитово, с реализацией длинного десятичного сложения числа с самим собой или, если угодно, десятичного умножения на 2. Полагаю это самый простой способ
__________________
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар на форуме   Ответить с цитированием
Старый 21.12.2016, 21:45   #4
7in
Евгений (Jin X)
Форумчанин
 
Аватар для 7in
 
Регистрация: 14.12.2014
Адрес: Самара
Сообщений: 228
Репутация: 147
По умолчанию

Я думаю, вот это должно помочь: http://www.cyberforum.ru/asm-beginne...ml#post9812523
7in вне форума   Ответить с цитированием
Старый 13.03.2017, 11:27   #5
Nif-naf
Пользователь
 
Аватар для Nif-naf
 
Регистрация: 05.09.2016
Сообщений: 28
Репутация: 10
По умолчанию

Для преобразования чисел масива в строку необходимо:
1 Для Dos специальный алгоритм преобразования.
2 Для Windows для преобразования знание Win Api
3 Для Linux знание алгоритма преобразования.
__________________
Немного о GoAsm.
Nif-naf вне форума   Ответить с цитированием
Старый 14.03.2017, 10:34   #6
alexcoder
Участник клуба
 
Регистрация: 31.05.2009
Сообщений: 728
Репутация: 395

skype: alexcoder1
По умолчанию

Код:

;преобразование числа в десятичную строку и вывод на экран
;ds:di - адрес числа
printdecbig proc
;Вывод числа в десятичной системе счисления
	mov bl,10		;основание системы
	xor dx,dx		;кол-во цифр в числе
divlp1:	lea si,[di+3]	;адрес начала старшей цифры числа
	mov ah,0		;остаток от деления
	mov cx,4		;кол-во байт в числе
	mov bh,0		;признак того, что число не нулевое
divlp:	mov al,[si]		;взять очередной байт числа
	div bl			;разделить очередной байт на 10
	mov [si],al		;сохранить результат деления
	test al,al		;если 0
	jz div1			;то пропустить
	mov bh,1		;если не 0, то установить признак
div1:	dec si			;следующий байт
	loop divlp		;разделить все число на 10
	shr ax,8		;сдвинуть остаток от деления
	push ax			;записать остаток в стек
	inc dx			;увеличить кол-во записанных в стек чисел
	test bh,bh		;если число не равно 0
	jnz divlp1		;продолжить преобразование
	mov cx,dx		;кол-во цифр в числе
	mov ah,2        ;ф-я вывода символа
m2a:	pop dx		;взять из стека цифру цисла
	add dl,'0'	;преобразовываем цифру в ASCII символ
	int 21h		;вывести на экран
	loop m2a	;все цифры
printdecbig endp

__________________
Помощь с программами:
vk.com/alexcoder1
e-mail: informatik101@mail.ru
alexcoder вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Преобразование числа в строку. Sonny01 Помощь студентам 5 15.01.2015 20:16
преобразование числа в строку Mortimoro PHP 4 04.10.2012 21:09
преобразование 32-ух битного int в строку _ILYA_ Assembler 9 14.11.2010 00:09
преобразование 32-битного int в строку _ILYA_ Общие вопросы C/C++ 1 07.11.2010 16:42
Преобразование числа в строку )Игнат( Общие вопросы Delphi 6 06.07.2008 09:32




13:39.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru