La verdad puesto con esas condiciones no es nada facil, almenos para mi.
viendo tu ejemplo el programa termina porque el resultado es mucho mayor a lo que puede entrar en 16bits(AX) ahi es donde se produce el primer error(desbordamiento), para el ejemplo una solucion sencilla(por ser el divisor 10) conociendo el resultado se sabe que la alteracion del divisor mantendra una mismalinea del numero en su totalidad o dicho de otra forma, los digitos no cambiaran sino que se hara una "sustraccion" del digito menos significativo, entoces siguiendo esa idea puede dividirse por separado primero la parte baja y luego la parte alta por el mimo divisor debiendo tener el cuidado correspondiente en cada caso por ejemplo:
;;;***********************
mov dx,0262h ; parte alta H
mov ax,06522h ; parte baja L
mov bx,10;_____divisor
push dx ;salvamos parte H
xor dx,dx ;se prepara para
div bx ;la sig division
mov cx,ax ;se salva la parte L
xor dx,dx
pop ax ;desempilamos H
div bx ; se divide
xchg ax,dx;son eso esta listo H
shl ax,12 ;el resto de la H pasa
or ax,cx ;a ser el digito + signifi
;de L
;;;*****************************
esta solcion(no provada) no es buena para generalizarla porque depende del divisor que es 10, pero espero que por lo menos se entienda la idea; tratando de explicar la idea para una forma mas general seria dividir los numeros a ser operados de 32bit en 16bits para su manejo en los registros de 8086, para esto se debe tener todas las condiciones que significara dividir cada numero dependiendo de la operacion que se vaya a efectuar sobre este, siendo la misma operacion la que la determine estos pasos a seguir en cada proceso.