Консультация № 144900
24.09.2008, 17:18
0.00 руб.
24.09.2008, 17:34
0 4 1
Здравствуйте,
Начала изучать Ассемблер и столкнулась с проблемой. У меня есть результат некоторого вычисления. Мне нужно вывести результат вычисления в двоичной форме на экран.
Заранее благодарна.

Приложение:
.data
a dw 70h ;= 112 |
b dw 8bh ;= 139 |
c dw ? ;Результирующая переменная, = 251[10] = 0fbh[16]
.code
main:
mov ax,@data
mov ds,ax
xor ax,ax

mov ax,a ;AX = a
add ax,b ;AX = AX+b = a+b
mov c,ax ;c = AX = a+b

;А ТЕПЕРЬ НУЖНО ПРЕОБРАЗОВАТЬ, КАК Я ПОНИМАЮ, c В СТРОКУ И ВЫВЕСТИ НА ЭКРАН

mov ax,4c00h
int 21h
end main

Обсуждение

давно
Старший Модератор
31795
6196
24.09.2008, 17:55
общий
это ответ
Здравствуйте, Лучинкина Ольга Ивановна!

Добавляете п\программу OutNumber , между строчками:
mov ax,4c00h
int 21h
;тут
end main


Вызывать нужно так:
mov bx,2
call OutNumber
mov bx,10
call OutNumber
mov bx,16
call OutNumber

Подпрограмма универсальная, работает с любой системой счисления, указаной в регистре ВХ.
Процессор должен быть оперделен как 186.
Удачи!

Приложение:
OutNumber: pusha
настраиваемся на вывод
xor cx,cx
;в получаем последнюю цифру числа и запоминаем в стеке
isDiv: xor dx,dx
div bx
push dx
inc cx;считаем количество цифр
or ax,ax;повторяем пока не 0
jnz isDiv
;выводим число в нужном порядке в цикле
isOut: pop ax
cmp al,09
jle noHex
add al,7
noHex: add al,30h
int 29h
loop isOut
;выводим разделяющий пробел
mov al,' '
int 29h
;востанавливаем все регистры и возвращаемся из п/программы
popa
ret
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

давно
Старший Модератор
31795
6196
24.09.2008, 17:57
общий
То Вы добавили системы счисления, то убрали.
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Неизвестный
24.09.2008, 18:13
общий
Зачем нагружать лишними вопросами. С одной разберусь, разберусь и с другими.
Еще раз спасибо.
давно
Старший Модератор
31795
6196
24.09.2008, 18:18
общий
Строчку jle noHex подправьте.
В моем ответе уже правильный вариант.
Удачи!
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Форма ответа