codesg segment
assume cs:codesg
start:
mov ch,0
rotate:
mov dl,13
mov ah,2
int 21h
mov dl,10
mov ah,2
int 21h
inc ch
cmp ch,9
jg exit
mov bl,1
next:
mov al,ch
mul bl
mov si,ax
mov al,ch
mul al
cmp ax,si
jl rotate
mov ax,si
mov cl,10
div cl
mov si,ax
add al,30h
mov dl,al
mov ah,2
int 21h
mov ax,si
add ah,30h
mov dl,ah
mov ah,2
int 21h
mov dl,20h
mov ah,2
int 21h
inc bl
jmp next
exit:
mov ah,4ch
int 21h
codesg ends
end start