;90 bytes

org 100h
	 mov	   ax,3509h
	 int	   21h
	 push	   es
	 push	   bx
	 xchg	   ax,cx
paint:	 mov	   al,cl
	 call	   nprint
	 dec	   cx
	 jns	   paint
	 mov	   ax,2509h
	 mov	   dx,newvect
	 int	   21h
waitesc: cmp byte [es:di+1],48
	 je	   waitesc
	 pop	   dx
	 pop	   ds
	 int	   21h;         ret
iprint:  mov	   ah,1fh
nprint:  shl	   al,1
	 jnc	   print
	 mov	   ah,31h
print:	 ;cld ; currently this is not needed
	 push $b800
	 pop  es
	 mov	   di,ax
	 push	   cx
	 mov	   cl,5
	 mul	   cl
	 xchg	   ax,di
printnum:ror	   al,cl
	 push	   ax
	 and	   al,0fh
	 daa
	 add	   al,-10h
	 adc	   al,40h
	 stosw
	 pop	   ax
	 dec	   cx		       ; ! parita from 8 bits
	 jnp	   printnum
	 pop	   cx
	 mov	   ax,3000h+'h'
	 stosw
	 mov	   al,' '	       ; ! 20h
	 stosw
	 stosw
	 ret
newvect: pusha;      ax
	 in	   al,60h
;         push      es
;         push      di
	 call	   iprint
;         pop       di
;         pop       es
	 out	   20h,al
	 popa;       ax
	 iret
