用MASMPLUS编译器编译的程序错误
时间:2011-12-24
来源:互联网
编译器是masmplus
下面程序错误出现在:NO DB 10 DUP('')这一句
求改正?
程序如下:
STUDENT STRUCT
NO DB 10 DUP('')
NAME DB 8 DUP('')
SCORE DB ' '
STUDENT ENDS
DATA SEGMENT
MAX EQU 10
S1 STUDENT MAX DUP(<>)
COUNT DW 0
FILENAME DB 'SCORE.TXT',0
HANDLE DW ?
ERROR DB 'A ERROR COME UP',0DH,0AH,'$'
TISHI DB 'Please type the students information:',0DH,0AH,'$'
ID DB 0DH,0AH,'enter student number:','$'
TXT DB 0DH,0AH,'enter name:','$'
MARK DB 0DH,0AH,'enter score:','$'
WHETH DB 0DH,0AH,'Continue? Y=continue,N=finish.'0DH,0AH, '$'
BUF DB 11
NUMBER DB 0
CHARS DB 11 DUP(0)
HEADING db 0dh,0ah,'======================================',0dh,0ah
db 'id',9,9,'name',9,9,'score',0dh,0ah,'$'
FLAG DW 0FFFFH
SORT_SCORE DW MAX DUP(0)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DX,AX
MOV DX,OFFSET TISHI
MOV AX,09H
INT 21H
MOV DI,OFFSET S1
MOV CX,MAX
L1:
PUSH CX
MOV DX,OFFSET ID
MOV AX,09H
INT 21H
MOV [BUF],11
MOV DX,OFFSET BUF
MOV AH,0AH
INT 21H
CALL COPY
MOV DX,OFFSET TXT
MOV AH,09H
INT 21H
MOV [BUF],9
MOV DX,OFFSET BUF
MOV AH,0AH
INT 21H
ADD DI,10
CALL COPY
MOV DX,OFFSET MARK
MOV AH,09H
INT 21H
MOV [BUF],4
MOV DX,OFFSET BUF
MOV AH,0AH
INT 21H
ADD DI,8
MOV [DI],AL
INC COUNT
CALL ASK
JC QUIT
ADD DI,1
POP CX
LOOP L1
L2:
CALL SORT
MOV DX,OFFSET HEADING
MOV AH,09H
INT 21H
MOV CX,COUNT
MOV DI,OFFSET SORT_SCORE
AGAIN:
PUSH CX
MOV BX,[DI]
XOR SI,SI
MOV AH,02H
MOV CX,10
N:
MOV DI,(STUDENT PTR[BX]).NO[SI]
INT 21H
INC SI
LOOP N
CALL TAB
XOR SI,SI
MOV AH,02H
MOV CX,8
T:
MOV DI,(STUDENT PTR [BX]).NAME[SI]
INT 21H
INC SI
LOOP T
CALL TAB
MOV AH,00H
MOV AL,(STUDENT PTR [BX]).SCORE
MOV AX,BX
MOV BX,10
XOR CX,CX
L3:
XOR DX,DX
DIV BX
PUSH DX
INC CX
CMP AX,0
JNZ L3
L4:
POP DX
ADD DL,'0'
MOV AH,02H
INT 21H
LOOP L4
MOV AH,02H
MOV DL,0DH
INT 21H
MOV AH,02H
MOV DL,0AH
INT 21H
INC DI
INC DI
POP CX
LOOP AGAIN
MOV AH,3CH
MOV DX,OFFSET FILENAME
INT 21H
JC L5
MOV HANDLE,AX
XOR DX,DX
MOV CX,AX
MOV AH,40H
MOV BX,[HANDLE]
MOV DX,OFFSET S1
INT 21H
JC L5
MOV AH,3EH
MOV BX,[HANDLE]
INT 21H
QUIT:
MOV AH,4CH
INT 21H
L5:
MOV DX,OFFSET ERROR
MOV AH,09H
INT 21H
JMP QUIT
COPY PROC
PUSH SI
PUSH DI
PUSH CX
MOV SI,OFFSET CHARS
XOR CX,CX
MOV CL,NUMBER
REP MOVSB
POP CX
POP DI
POP SI
RET
COPY ENDP
SORT PROC
PUSH AX
PUSH BX
PUSH SI
PUSH DI
MOV BX,OFFSET S1
MOV DI,OFFSET SORT_SCORE
MOV CX,COUNT
L6:
MOV AL,(STUDENT PTR [BX]).SCORE
CALL INSERT
ADD BX,19
ADD DI,2
LOOP L6
POP DI
POP SI
POP BX
POP AX
RET
SORT ENDP
INSERT PROC
PUSH BX
PUSH DX
PUSH DI
MOV DX,BX
L7:
MOV BX,[DI-2]
CMP BX,0FFFFH
JNZ L8
MOV [DI],DX
JMP L10
L8:
CMP AL,(STUDENT PTR [BX]).SCORE
JA L9
MOV [DI],DX
JMP L10
L9:
MOV [DI],BX
SUB DI,2
JMP L7
L10:
POP DI
POP DX
POP BX
RET
INSERT ENDP
ASK PROC
PUSH DX
PUSH AX
MOV DX,OFFSET WHETH
MOV AH,09H
INT 21H
MOV AH,01H
INT 21H
CMP AL,'Y'
JZ L11
CMP AL,'y'
JZ L11
JMP L12
L11:
CLC
JMP L13
L12:
STC
L13:
POP AX
POP DX
RET
ASK ENDP
TAB PROC
PUSH AX
PUSH DX
MOV AH,02H
MOV DL,9
INT 21H
POP DX
POP AX
RET
TAB ENDP
END START
下面程序错误出现在:NO DB 10 DUP('')这一句
求改正?
程序如下:
STUDENT STRUCT
NO DB 10 DUP('')
NAME DB 8 DUP('')
SCORE DB ' '
STUDENT ENDS
DATA SEGMENT
MAX EQU 10
S1 STUDENT MAX DUP(<>)
COUNT DW 0
FILENAME DB 'SCORE.TXT',0
HANDLE DW ?
ERROR DB 'A ERROR COME UP',0DH,0AH,'$'
TISHI DB 'Please type the students information:',0DH,0AH,'$'
ID DB 0DH,0AH,'enter student number:','$'
TXT DB 0DH,0AH,'enter name:','$'
MARK DB 0DH,0AH,'enter score:','$'
WHETH DB 0DH,0AH,'Continue? Y=continue,N=finish.'0DH,0AH, '$'
BUF DB 11
NUMBER DB 0
CHARS DB 11 DUP(0)
HEADING db 0dh,0ah,'======================================',0dh,0ah
db 'id',9,9,'name',9,9,'score',0dh,0ah,'$'
FLAG DW 0FFFFH
SORT_SCORE DW MAX DUP(0)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DX,AX
MOV DX,OFFSET TISHI
MOV AX,09H
INT 21H
MOV DI,OFFSET S1
MOV CX,MAX
L1:
PUSH CX
MOV DX,OFFSET ID
MOV AX,09H
INT 21H
MOV [BUF],11
MOV DX,OFFSET BUF
MOV AH,0AH
INT 21H
CALL COPY
MOV DX,OFFSET TXT
MOV AH,09H
INT 21H
MOV [BUF],9
MOV DX,OFFSET BUF
MOV AH,0AH
INT 21H
ADD DI,10
CALL COPY
MOV DX,OFFSET MARK
MOV AH,09H
INT 21H
MOV [BUF],4
MOV DX,OFFSET BUF
MOV AH,0AH
INT 21H
ADD DI,8
MOV [DI],AL
INC COUNT
CALL ASK
JC QUIT
ADD DI,1
POP CX
LOOP L1
L2:
CALL SORT
MOV DX,OFFSET HEADING
MOV AH,09H
INT 21H
MOV CX,COUNT
MOV DI,OFFSET SORT_SCORE
AGAIN:
PUSH CX
MOV BX,[DI]
XOR SI,SI
MOV AH,02H
MOV CX,10
N:
MOV DI,(STUDENT PTR[BX]).NO[SI]
INT 21H
INC SI
LOOP N
CALL TAB
XOR SI,SI
MOV AH,02H
MOV CX,8
T:
MOV DI,(STUDENT PTR [BX]).NAME[SI]
INT 21H
INC SI
LOOP T
CALL TAB
MOV AH,00H
MOV AL,(STUDENT PTR [BX]).SCORE
MOV AX,BX
MOV BX,10
XOR CX,CX
L3:
XOR DX,DX
DIV BX
PUSH DX
INC CX
CMP AX,0
JNZ L3
L4:
POP DX
ADD DL,'0'
MOV AH,02H
INT 21H
LOOP L4
MOV AH,02H
MOV DL,0DH
INT 21H
MOV AH,02H
MOV DL,0AH
INT 21H
INC DI
INC DI
POP CX
LOOP AGAIN
MOV AH,3CH
MOV DX,OFFSET FILENAME
INT 21H
JC L5
MOV HANDLE,AX
XOR DX,DX
MOV CX,AX
MOV AH,40H
MOV BX,[HANDLE]
MOV DX,OFFSET S1
INT 21H
JC L5
MOV AH,3EH
MOV BX,[HANDLE]
INT 21H
QUIT:
MOV AH,4CH
INT 21H
L5:
MOV DX,OFFSET ERROR
MOV AH,09H
INT 21H
JMP QUIT
COPY PROC
PUSH SI
PUSH DI
PUSH CX
MOV SI,OFFSET CHARS
XOR CX,CX
MOV CL,NUMBER
REP MOVSB
POP CX
POP DI
POP SI
RET
COPY ENDP
SORT PROC
PUSH AX
PUSH BX
PUSH SI
PUSH DI
MOV BX,OFFSET S1
MOV DI,OFFSET SORT_SCORE
MOV CX,COUNT
L6:
MOV AL,(STUDENT PTR [BX]).SCORE
CALL INSERT
ADD BX,19
ADD DI,2
LOOP L6
POP DI
POP SI
POP BX
POP AX
RET
SORT ENDP
INSERT PROC
PUSH BX
PUSH DX
PUSH DI
MOV DX,BX
L7:
MOV BX,[DI-2]
CMP BX,0FFFFH
JNZ L8
MOV [DI],DX
JMP L10
L8:
CMP AL,(STUDENT PTR [BX]).SCORE
JA L9
MOV [DI],DX
JMP L10
L9:
MOV [DI],BX
SUB DI,2
JMP L7
L10:
POP DI
POP DX
POP BX
RET
INSERT ENDP
ASK PROC
PUSH DX
PUSH AX
MOV DX,OFFSET WHETH
MOV AH,09H
INT 21H
MOV AH,01H
INT 21H
CMP AL,'Y'
JZ L11
CMP AL,'y'
JZ L11
JMP L12
L11:
CLC
JMP L13
L12:
STC
L13:
POP AX
POP DX
RET
ASK ENDP
TAB PROC
PUSH AX
PUSH DX
MOV AH,02H
MOV DL,9
INT 21H
POP DX
POP AX
RET
TAB ENDP
END START
作者: alived_s 发布时间: 2011-12-24
把变量名字换一下。
作者: mydo 发布时间: 2011-12-24
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28