assembly language program to check even and odd numbers in 8086 code example

Example: assembly language program to separate even and odd numbers in 8086

.model small

.data 
     arr1    db 1,2,3,1,3,5,6,3,4,5
     OddArr  db 10 dup(?)
     EvenArr db 10 dup(?)
     OddAdd  db 0
     EvenAdd db 0

.code
     mov ax,@data
     mov ds,ax

     LEA BX,arr1
     LEA SI,OddArr
     LEA DI,EvenArr
     mov cx,10
     mov dh,02

     L1:
          mov ah,00
          mov al,[BX]
          mov dl,al
          div dh
          cmp ah,00
          je EVEN1
          mov [DI],dl
          add OddAdd,dl
          INC DI
          INC BX
          Loop L1
          jmp CAL


     EVEN1:
          mov [SI],dl
          add EvenAdd,dl
          INC SI 
          INC BX
          Loop L1

     CAL:     
          mov ax,0000
          mov bx,0000
          mov al,OddAdd
          mov bl,EvenAdd

          mov ax,4C00h
          int 21h

end