out of memory

######汇编cai niao,为什么编译的时候会出现out of memory ,提示在24行(mov ah
01h)在着出错
date segment
date1 db ? //MJF
date2 db ? // 202015040515
date3 db 5 // 前头5个空格
date4 db 4 // MJF 循环的次数
date5 db m
date6 db 2 // 作为m m 行的循环次数
date7 db M
date8 db J
date9 db F
date 10 db 1
input1 db 0AH, 0DH,"Input a letter please! The letter is:",'$'
input2 db 0AH, 0DH,"Input a number please! The number is:",'$'
output1 db 0AH, 0DH,'$' // 换行
output2 db "202015040515,mjf!",0AH, 0AH,'$
data ends
code segment
assume cs:code ,ds:date
start: mov ax,date
mov ds,ax
lea dx,input1
mov ah,09h
int 21h
mov ah 01h // 提示并输入自己的名字
int 21h
mov date1,al

 lea dx,input2              // 提示并输入自己的学号
 mov ah,09h
 int 21h
 mov ah 01h                   
 int 21h
 mov date2,al

huang1: lea dx,output1
mov ah,09h
int 21h
xor cx,cx
mov cl,date3
kongge1: mov dl,20H
mov ah,2
int 21h
dec cx
jnz kongge1
mov cl,data4
again1:
mov dl,data1
mov ah,2
int 21h
dec cx
jnz again1
huan2: lea dx,output1
mov ah,09h // 换行
int 21h
xor cx,cx
mov cl,date3

again2: mov dl date5
mov ah 02h
int 21h
mov cl,10
kongge2: mov dl,20H // 20h----空格
mov ah,2 // 设置光标
int 21h
dec cx
jnz kongge2

     mov dl date5
     mov ah 02h
     int 21h
     dec date6                        // 第二、三行
     jnz  huan2

    lea dx,output1
    mov ah,09h                                 // 换行
    int 21h
    xor cx,cx
    mov cl,date3  

kongge3: mov dl,20H
mov ah,2
int 21h
dec cx
jnz kongge3

    mov dl date7
    mov ah,02h
    int 21h

    mov dl 20h
    mov ah,02h
    int 21h

    mov dl date7
    mov ah,02h
    int 21h
    xor cx,cx
    mov cl,5

kongge5 :mov dl 20h
mov ah,02h
int 21h
dec cx
jnz kongge5

    mov dl date7
    mov ah,02h
    int 21h
    mov cl,2

kongge6 :mov dl 20h
mov ah,02h
int 21h
dec cx
jnz kongge6

    mov dl date7
    mov ah,02h
    int 21h

    lea dx,output1
    mov ah,09h                                 // 换行
    int 21h
    mov cl,date3

kongge7 :mov dl 20h
mov ah,02h
int 21h
dec cx
jnz kongge7

    mov dl,date6
    mov ah,02h
    int 21h
    mov dl,date8
    mov ah,02h
    int 21h

    mov dl 20h
    mov ah,02h
    int 21h

    mov dl ,date8
    mov ah,02h
    int 21h
    xor cx,cx
    mov cl,3

kongge8:mov dl 20h
mov ah,02h
int 21h
dec cx
jnz kongge8

      mov dl ,date8
      mov ah,02h
      int 21h

      mov dl 20h
      mov ah,02h
      int 21h

      mov dl ,date8
      mov ah,02h
      int 21h

      mov dl 20h
      mov ah,02h                       //  第五行
      int 21h

      mov dl,date6
      mov ah,02h
      int 21h

      lea dx,output1
      mov ah,09h                                 // 换行
      int 21h
      mov cl,date3
 

kong: mov dl,20h
mov ah,2
int 21h
dec cx
jnz kong

     mov dl ,date6
     mov ah,2
     int 21h

     mov dl,20h
     mov ah,2
     int 21h

     mov dl date9
     mov ah,2
     int 21h
     xor cx,cx
     mov cl,5 
     

kongge9: mov dl,20h
mov ah,2
int 21h
dec cx
jnz kongge9

     mov dl date9
     mov ah,2
     int 21h
     mov cl,2

kongge10: mov dl,20h
mov ah,2
int 21h
dec cl
jnz kongge10 // 第六行

     mov dl ,date6
     mov ah,2
     int 21h

huan3: lea dx,output1
mov ah,09h // 换行
int 21h
mov cl,date3

kong1: mov dl,20h
mov ah,2
int 21h
dec cx
jnz kong1

  mov dl,date6
  mov ah,2
  int 21h
  mov cx,10

kong2: mov dl,20h
mov ah,2
int 21h
dec cx
jnz kong2

  mov dl,date6
  mov ah,2
  int 2h
  dec 6
  jnz huan3

huan4: lea dx,output1
mov ah,09h // 换行
int 21h
mov cl,date3

kong3: mov dl,20h
mov ah,2
int 21h
dec cx
jnz kong3

mov dl,date6
mov ah,2
int 21h
xor cx,cx
mov cl,10

kong3: mov dl,date10
mov ah,2
int 21h
dec cx
jnz kong3

  mov dl,date6                       
  mov ah,2             // 第13int 21h

huan5: lea dx,output1
mov ah,09h // 换行
int 21h
mov cl,date3

kong4: mov dl,20h
mov ah,2
int 21h
dec cx
jnz kong4

  mov dl,date6
  mov ah,2
  int 21h
  xor cx,cx
  mov cl,10

kong5: mov dl,20h
mov ah,2
int 21h
dec cx
jnz kong5

 mov dl,date6
  mov ah,2
  int 21h
  dec 2
  jnz huan5

huan6: lea dx,output1
mov ah,09h // 换行
int 21h
mov cl,date3

kong6: mov dl,20h
mov ah,2
int 21h
dec cx
jnz kong6

  mov dl,date2                       //第15mov ah,2
  int 21h

huan7: lea dx,output1
mov ah,09h // 换行
int 21h
mov cl,8

kong7: mov dl,20h
mov ah,2
int 21h
dec cx
jnz kong7

         mov dl,date9
         mov ah,2
         int 21h
         mov cl,4

kong8: mov dl,20h
mov ah,2
int 21h
dec cl
jnz kong8

       mov dl,date9
       mov ah,2
       int 21h
       mov cl,3

kong9: mov dl,20h
mov ah,2
int 21h
dec cl
jnz kong9
dec 5
jnz huan7

  lea dx,output1
   mov ah,09h                                 // 换行
   int 21h
   lea dx,output1
   mov ah,09h                                 // 换行
   int 21h

   lea dx,output2
   mov ah,09h
 int 21h
 
 mov ah,4ch
 int 21h

code ends
end start