04.11.2004, 00:07
общий
это ответ
Доброе время суток, Khanc!
Пока число не кончится, делить его на 10 и выводить результат.
Приложение:
cseg segmentassume cs:cseg, ds:dseglocalsstart: mov ax,seg dseg mov ds,ax mov ax,2384 call showax mov ah,4ch int 21hshowax proc mov si,offset numend;конец - потому-что числа будут идти в обратном поярдке mov bx,10;делитель числа@@showchar: xor dx,dx;Подготовка к делению div bx;остаток деления в dx (он меньше 10, поэтому помещается в dl) or dl,30h;переводим в читаемый вид dec si;запоминаем цифру mov [si],dl cmp ax,0;если число не кончилось идем назад ja @@showchar ;печатаем число mov dx,si mov ah,9 int 21h ret endpendsdseg segment number db " " numend db "$"endsend start