Подскажите пожалуйста по ассемблеру

За вознаграждение или нахаляву (если повезёт)

Модераторы: Хыиуду, MOTOCoder, Medved, dr.Jekill

Аватара пользователя
Alex_Burn
Сообщения: 147
Зарегистрирован: 13 апр 2007, 17:49
Контактная информация:

не мог бы кто-нибудь объяснить мне как осуществляется перевод в 16-ю систему счисления?
airyashov
Сообщения: 441
Зарегистрирован: 02 ноя 2007, 10:31

Классика последовательным делением на 16, или логическим сдвигом на 4 разряда.
вот пример из кода, тут вращаем слово и выделяем из него цифры.

Код: Выделить всё

.data
...
	covert db '0123456789ABCDEF'
....
.code

Draw_W16 Proc
	push ds
	mov cx,4
	mov ax, @data
	mov bx, offset covert
	mov ds,ax
	mov bp,4; т.к. в слове 4 чифры 16-е
print_s:
	rol dx,cl
	mov ax,dx	
	and ax,000fh		
	xlatb
	;теперь в al содержится старший разряд 16 числа
	mov es:[di],al; а тут его куда нить сохраняем
Ответить