编程完毕连接时候出现attempt to access data outside segme
nt bounds

怎么办啊?求救

DATA    SEGMENT
INFO    DB    'Select speed(1,2,3):','$'
FAN    DB    '\','-','/'
SPEED    DW    ?
DATE    DB    5    DUP (?)
XX    DB    0H
X    DB    0H

STACK   SEGMENT STACK  'STACK'
        DB      64    DUP (?)
STACK   ENDS

CODE        SEGMENT
    ASSUME   CS:CODE,DS:DATA

MAIN    PROC    FAR
    MOV    AX,DATA
    MOV    DS,AX
    LEA    DX,INFO
    MOV    AH,09H
    INT    21H
    MOV    AH,01H
    INT    21H
    CMP    AL,32H
    JB    SPEED1
    JA    SPEED2
    MOV    CX,800H
    JMP    BG
SPEED1:    MOV    CX,400H
    JMP    BG
SPEED2:    MOV    CX,0C00H
    JMP    BG
BG:    MOV    SPEED,CX
    MOV    DL,0AH
    MOV    AH,02H
    INT    21H
    MOV    DL,0DH
    INT    21H
    CALL    OUTTIME
L:    MOV    DL,FAN
    MOV    AH,02H
    INT    21H
    CALL    AA
    MOV    DL,[FAN+1]
    MOV    AH,02H
    INT    21H
    CALL    AA
    MOV    DL,[FAN+2]
    MOV    AH,02H
    INT    21H
    CALL    AA
    JMP    L
    MOV    AH,4CH
    INT    21H
MAIN    ENDP   ;读取时间子程序

OUTTIME    PROC    NEAR
    LEA    SI,DATE
    MOV    AH,02        ;读取时间
    INT    1AH
    MOV    [SI],CH        ;小时
    INC    SI
    MOV    CH,':'
    MOV    [SI],CH
    INC    SI
    MOV    [SI],CL        ;分钟
    INC    SI
    MOV    [SI],CH
    INC    SI
    MOV    [SI],DH        ;秒
    LEA    SI,DATE
    MOV    CX,5
    MOV    X,1
        MOV     BL,0
OD:     CALL    SHOWS
    INC    SI
    LOOP    OD
    RET
OUTTIME    ENDP  ;输出子程序

SHOWS    PROC    NEAR
    PUSH    CX
        PUSH    BX
    MOV    DL,[SI]
        CMP     BL,1
        JZ      SHX
    MOV    AX,CX
    MOV    BL,2
    DIV    BL
    CMP    AH,0
    JZ    SHF
SHX:    SHR     DL,1
    SHR    DL,1
    SHR    DL,1
    SHR    DL,1
    ADD    DL,30H
    MOV    AH,02H
    INT    21H
    MOV    DL,[SI]
    AND    DL,0FH
    ADD    DL,30H
SHF:    MOV    AH,02H
    INT    21H
        POP     BX
        CMP     BL,1
        JNZ     SHE
        MOV     DH,10
        MOV     DL,XX
        MOV     BH,0
        MOV     AH,02H
        INT     10H
SHE:    POP     CX
    RET
SHOWS    ENDP
AA    PROC    NEAR
    MOV    CX,SPEED
LA1:    LOOP    LA1
    MOV    BH,0
    MOV    AH,03H
    INT    10H
    MOV    DL,0
    MOV    AH,02H
    INT    10H
    CALL    OUTTIME
    RET
AA    ENDP
END