Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

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

Купить рекламу на форуме - 42 тыс руб за месяц

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

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

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

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

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

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

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

Я думаю, вот это должно помочь: http://www.cyberforum.ru/asm-beginne...ml#post9812523
Делаю лабы на Asm/Delphi/C++/Python/VBA(Excel): asmlabs.ru
7in вне форума Ответить с цитированием
Старый 13.03.2017, 10:27   #5
Nif-naf
Форумчанин
 
Аватар для Nif-naf
 
Регистрация: 05.09.2016
Сообщений: 131
По умолчанию

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

Код:
;преобразование числа в десятичную строку и вывод на экран
;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 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Преобразование числа в строку. Sonny01 Помощь студентам 5 15.01.2015 19:16
преобразование числа в строку Mortimoro PHP 4 04.10.2012 21:09
преобразование 32-ух битного int в строку _ILYA_ Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 9 13.11.2010 23:09
преобразование 32-битного int в строку _ILYA_ Общие вопросы C/C++ 1 07.11.2010 15:42
Преобразование числа в строку )Игнат( Общие вопросы Delphi 6 06.07.2008 09:32