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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.11.2010, 15:10   #1
Alex1991
Форумчанин
 
Аватар для Alex1991
 
Регистрация: 18.10.2008
Сообщений: 166
Смущение Перевод числа из шестнадцатеричной(hex) в десятичную(dec)

В регистре dl есть число которое записано в шестнадцатеричной системе нужно перевести это число в десятичной системе. Может у кого есть готовая процедурка ти киньте код пожалуйста.
Alex1991 вне форума Ответить с цитированием
Старый 12.11.2010, 15:18   #2
Tronix
Форумчанин
 
Аватар для Tronix
 
Регистрация: 15.06.2010
Сообщений: 740
По умолчанию

В dl уже записано десятичное число. Даже если в программе написано mov dl,FEh то компилятор преобразует это число в десятичный вид на уровне компиляции. То есть остается только вывести число из dl в десятичном виде.
Чтобы понять рекурсию, сперва нужно понять рекурсию.
Tronix вне форума Ответить с цитированием
Старый 12.11.2010, 15:41   #3
Alex1991
Форумчанин
 
Аватар для Alex1991
 
Регистрация: 18.10.2008
Сообщений: 166
По умолчанию

Ну просто есть программа, в а dl записывается и выводиться код клавиши в 16 системе, а мне нужно чтобы выводило в 10 системе.
Код:
; Вывод на экран скан кодов клавиатуры в 16-ричной системе счисления
.model tiny
.code

org 100h ; СОМ-программа
start:
	
next:
	in al,60h ;принимаем код нажатой клавиши
	cmp al,01   ; если это esc...
	jnz m1
	ret         ; то выходим
m1:
	
	;далее раскладываем на разряды это число, переводим в строку и выводим сразу на экран
	
	xor ah,ah  ;чтобы небыло проблем
	
	mov bl,10h 
	div bl     ;отделяем полубайты друг от друга в al будет старший полубайт, в ah младший
	mov dl,al
	cmp dl,9 ;если число > 9 , то надо уже надо писать букву
	jle l1
	add dl,7   ; добавляем до буквы.
	
l1:
	add dl,30h ;добавляем до символа
	mov cl,ah  ;сохраняем младший разряд
	mov ah,02
	int 21h		;выводим символ на экран
	mov dl,cl
	cmp dl,9 ;если число > 9 , то надо уже надо писать букву
	jle l2
	add dl,7   ; добавляем до буквы.
	
l2:
	add dl,30h ;добавляем до символа
	mov ah,02
	int 21h    ;выводим символ на экран
	
	mov dl,0dh    ; вставляем символ перевода на начало строки
	mov ah,2
	int 21h
	jmp next   ; повторяем еще раз
	

msg		db "Scan code of keyboard. For stop, press ESC key.",0Dh,0Ah,"$"; символ $ означает конец строки

end start
Alex1991 вне форума Ответить с цитированием
Старый 12.11.2010, 16:37   #4
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

перевод числа в любую систему DWORD2STR
http://programmersforum.ru/showpost....89&postcount=5
rpy3uH вне форума Ответить с цитированием
Старый 12.11.2010, 16:52   #5
Alex1991
Форумчанин
 
Аватар для Alex1991
 
Регистрация: 18.10.2008
Сообщений: 166
По умолчанию

Цитата:
Сообщение от rpy3uH Посмотреть сообщение
перевод числа в любую систему DWORD2STR
http://programmersforum.ru/showpost....89&postcount=5
но там используються 32 битные регистры типа eax, ebx
Alex1991 вне форума Ответить с цитированием
Старый 15.11.2010, 14:57   #6
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

Цитата:
Сообщение от Alex1991
но там используються 32 битные регистры типа eax, ebx
Думайте Alex1991, экспериментируйте, замените eax на ax, ebx на bx
Mikl___ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод из dec в hex McDoC Помощь студентам 10 30.06.2010 09:03
си++ перевод числа из шестнадцатиричной системы в десятичную. Bonne Помощь студентам 1 18.04.2010 19:19
си++ перевод числа из двоичной системы в десятичную. Bonne Помощь студентам 1 13.04.2010 22:07
Перевод числа из двоичной системы в десятичную С++ kontroller Помощь студентам 2 15.02.2010 20:39