emu 8086



Автор Ёерёжа задал вопрос в разделе Другие языки и технологии

emu8086 вывод регистра на экран и получил лучший ответ

Ответ от
не понятно что нужно сделать чтобы программа выводила значение из регистра bx?
Если так то нужно будет число преобразовать в стоку и вызвать функцию вывод строки

Ответ от Евгений Сторожев[гуру]
Вывод строки на экран вы сможете прочитать в документации под дос, которую можно найти в интернете. А вот как из обычного регистра получить строку это уже другой вопрос. Как вариант:
;преобразование числа из ах в десятичную строку по адресу es:di
;ax - число
;es:di - адрес буфера приемника
printdec proc
push cx;сохраняем регистры
push dx
push bx
mov bx,10;основание системы
XOR CX,CX;в сх будет количество цифр в десятичном числе
@@m1:XOR dx,dx ;обнудяем dx
DIV bx;делим число на степени 10
PUSH DX;и сохраняем остаток от деления (коэффициенты при степенях) в стек
INC CX;увеличиваем количество символов в числе
TEST AX,AX;преобразовали все число?
JNZ @@m1;если нет, то продолжить
@@m2:POP AX;восстанавливаем остаток от деления
ADD AL,'0';преобразовываем число в ASCII символ
STOSb;сохраняем в буфер
LOOP @@m2;все цифры
pop bx;восстанавливаем регистры
POP dx
POP cx
RET
printdec endp
Код скопипастен отсюда: http:// www .programmersforum.ru/showthread.php?t=15034 убираем пробелы и переходим, если интересно.

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: emu8086 вывод регистра на экран
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*