давно
Старший Модератор
31795
6196
15.02.2008, 17:47
общий
это ответ
Здравствуйте, Richhabibi!
C помощью строчного оператора STOSB формируется строка и выводится функцией DOS.
Если будут вопросы обращайтесь в мини-форум.
Удачи!
Приложение:
;tasm prog
;tlink prog /t
MASM;IDEAL or MASM
MODEL tiny
.186
CODESEG
org 100h
;
start: mov ax,dwNumber;загружаем число
xor cx,cx;сбрасываем счетчик
cld;для строковой команды инкремент
mov bx,10;будем делить на 10
;преобразовываем число в цифры
isDiv10: xor dx,dx;сбрасываем
div bx;делим на 10
push dx;запоминаем в стеке
inc cx;увеличиваем счетчик
or ax,ax;проверяем достигли ли 0
jnz isDiv10
;настраиваемся на строку
mov di,offset dbString;
mov dx,di
;формируем строку
isOut10: pop ax;извлекаем из стека
or al,30h;преобразовываем в символ
stosb;записываем в строку
loop isOut10
;записываем метку конца строки
mov al,‘$‘
stosb
;вывод строки и выход
mov ah,9
int 21h
ret
dwNumber dw 1204
dbString db 10 dup(?)
;
end start
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.