主题:求救…………
编程完毕连接时候出现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
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