帮忙看下汇编的这些错误是什么意思

djh512 2009-09-12 08:31:19
student.asm(129): error A2005: Symbol is multidefined: MATCH
student.asm(129): error A2026: Reference to multidefined symbol
student.asm(152): warning A4001: Extra characters on line
student.asm(152): error A2005: Symbol is multidefined: CP1
student.asm(152): error A2005: Symbol is multidefined: CP2
student.asm(152): error A2026: Reference to multidefined symbol
student.asm(152): error A2026: Reference to multidefined symbol
student.asm(152): error A2026: Reference to multidefined symbol
student.asm(152): error A2005: Symbol is multidefined: NEXT
student.asm(152): error A2026: Reference to multidefined symbol
student.asm(152): error A2026: Reference to multidefined symbol
student.asm(152): error A2005: Symbol is multidefined: MATCH
student.asm(152): error A2026: Reference to multidefined symbol
student.asm(191): error A2053: Jump out of range by 59 byte(s)
student.asm(241): error A2053: Jump out of range by 51 byte(s)
student.asm(244): error A2053: Jump out of range by 76 byte(s)
student.asm(289): error A2035: Operand must have size
student.asm(309): error A2035: Operand must have size
...全文
612 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
djh512 2009-09-14
  • 打赏
  • 举报
回复
我自己试着写 ~以后有问题在问楼上的 ~
BAYNPU 2009-09-13
  • 打赏
  • 举报
回复
错误实在太多了,伤脑筋的事情干了.
djh512 2009-09-13
  • 打赏
  • 举报
回复
55
djh512 2009-09-13
  • 打赏
  • 举报
回复
INCLUDE WENJIAN.MAC
DATA SEGMENT
MESS0 DB 'PLEASE SELECT THE FUNCTION:',0DH,0AH
DB 'l(load),i(insert),f(find),d(delete),p(paixu), e(exit)',0DH,0AH,'$'
MESS1 DB 'PLEASE INPUT THE INFO:',0DH,0AH
DB 'NAME XUEHAO SCORE',0DH,0AH,'$'
MESS2 DB 'OPERATION SUCCEED!',0AH,0AH,'$'
MESS3 DB 'PLEASE INPUT THE NAME OF THE STUDENT:',0DH,0AH,'$'
MESS4 DB 'THERE IS NO SUCH RECORD!',0DH,0AH,'$'
MESS5 DB 'THE RANK OF STUDENTS IS:',0DH,0AH,'$'
MESS6 DB 'DELETE SUCCEESFULLY!',0DH,0AH,'$'
FILEPATH DB 'D:\POLLY.TXT',0
BUFFER DB 160 DUP(' '),'$'
SNAME DB 100 DUP(' '),'$'
XUEHAO DB 100 DUP(' '),'$'
SCORE DB 60 DUP(' '),'$'
CACHE1 DB 10 DUP(' '),'$'
CACHE2 DB 10 DUP(' '),'$'
B1 DW ?
B2 DB ?
B3 DB ?
B4 DW ?
FILEHANDLE DW ?
NUM DW ?
DATA ENDS
STACK SEGMENT
DB 50 DUP(?) ;//27行
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START:
MOV AX,DATA
MOV DS,AX
NEWFILE FILEPATH
PRINT MESS0
XOR AX,AX
MOV NUM,AX
LEA BX,BUFFER
MOV B1,BX
GO: MOV AH,7
INT 21H
CMP AL,'l'
JNZ N0
CALL LOAD
JMP GO
N0: CMP AL,'i'
JNZ N1
CALL INSERT
JMP GO
N1: CMP AL,'d'
JNZ N2
CALL DELETE
JMP GO
N2: CMP AL,'f';//54行
JNZ N3
CALL FIND
JMP GO
N3: CMP AL,'p'
JNZ N4
CALL PAIXU
JMP GO
N4: CMP AL,'e'
JZ EXIT
JMP GO
EXIT:
MOV AH,4CH
INT 21H
LOAD PROC NEAR
PUSH AX
PUSH BX
PUSH CX
PUSH DX
OPENFILE FILEPATH
READFILE 7,BUFFER
CLOSEFILE FILEPATH
CRTL
outstr '%'
PRINT BUFFER
POP DX
POP CX
POP BX;//81行
POP AX
RET
LOAD ENDP
INSERT PROC NEAR
PUSH AX
PUSH BX
PUSH CX
PUSH DX
PRINT MESS1
MOV BX,B1
IN1:
MOV AH,1
INT 21H
MOV [BX],AL
INC BX
CMP AL,'#'
JNZ IN1
MOV B1,BX
; MOV [BX],'@' //有错误
MOV CX,NUM
INC CX
MOV NUM,CX
OPENFILE FILEPATH
WRITEFILE 160,BUFFER
CLOSEFILE FILEPATH
CRTL
POP DX;//108行
POP CX
POP BX
POP AX
RET
INSERT ENDP
FIND PROC NEAR
PUSH AX
PUSH BX
PUSH CX
PUSH DX
; INQUIRE ERRORF ;错误多多
MOV SI,B4
OUTX:
MOV AL,[SI]
CMP AL,'#'
JZ EXITF
OUTSTR AL
INC SI
JMP OUTX
ERRORF:PRINT MESS4
EXITF:
POP DX
POP CX
POP BX
POP AX
RET
FIND ENDP ;//135行
DELETE PROC NEAR
PUSH AX
PUSH BX
PUSH CX
PUSH DX
INQUIRE ERRORD;警告
MOV SI,B4
MOV AH,'?'
FUGAI:
MOV AL,[SI]
CMP AL,'#'
JZ SUCCEED
MOV [SI],AH
INC SI
JMP FUGAI
SUCCEED:
PRINT MESS6
JMP EXITD
ERRORD:PRINT MESS4
EXITD:
OPENFILE FILEPATH
WRITEFILE 160,BUFFER
CLOSEFILE FILEPATH
POP DX
POP CX
POP BX
POP AX;//162行
RET
DELETE ENDP
PAIXU PROC NEAR
PUSH AX
PUSH BX
PUSH CX
PUSH DX
CALL DIVIDE
MOV CX,NUM
P:
LEA DI,SCORE
LEA SI,SNAME
LEA BP,XUEHAO
MOV BX,1
DEC CX
JZ EX;//有错误
PUSH CX
A:
MOV AX,[DI]
CONVERT
MOV DX,AX
MOV AX,[DI+2]
CONVERT
XCHG AX,DX
CMP AX,DX
JNL B
MOV AX,[DI] ;//189行
XCHG [DI+2],AX
MOV [DI],AX
MOV AX,[SI]
XCHG [SI+10],AX
MOV [SI],AX
MOV AX,[SI+2]
XCHG [SI+12],AX
MOV [SI+2],AX
MOV AX,[SI+4]
XCHG [SI+14],AX
MOV [SI+4],AX
MOV AX,[SI+6]
XCHG [SI+16],AX
MOV [SI+6],AX
MOV AX,[SI+8]
XCHG [SI+18],AX
MOV [SI+8],AX
MOV AX,[BP]
XCHG [BP+10],AX
MOV [BP],AX
MOV AX,[BP+2]
XCHG [BP+12],AX
MOV [BP+2],AX
MOV AX,[BP+4]
XCHG [BP+14],AX
MOV [BP+4],AX
MOV AX,[BP+6] ;//216行
XCHG [BP+16],AX
MOV [BP+6],AX
MOV AX,[BP+8]
XCHG [BP+18],AX
MOV [BP+8],AX
XOR BX,BX
B:
ADD DI,2
ADD SI,10
ADD BP,10
DEC CX
JNZ A ;//这行出错
POP CX
CMP BX,0
JZ P ;//此行出错
EX:
SHOW
CLRBUF SNAME,50
CLRBUF XUEHAO,50
CLRBUF SCORE,30
POP DX
POP CX
POP BX
POP AX
RET
PAIXU ENDP
DIVIDE PROC NEAR ;//243行
PUSH AX
PUSH BX
PUSH CX
PUSH DX
LEA SI,BUFFER
LEA BP,SNAME
LEA DI,XUEHAO
LEA BX,SCORE
MOV CX,NUM
XOR DX,DX
DIVID:
MOV AH,0
D1:
MOV AL,[SI]
CMP AL,'?'
JZ D4
INC SI
CMP AL,' '
JZ D10
INC AH
MOV [BP],AL
INC BP
JMP D1
D10:
MOV AL,10
SUB AL,AH
XOR AH,AH ;//270行
D11:
CMP AL,0
JZ D2
MOV [BP],' ' ;//此行出错
INC BP
DEC AL
JMP D11
D2:
MOV AL,[SI]
INC SI
CMP AL,' '
JZ D20
INC AH
MOV [DI],AL
INC DI
JMP D2
D20:
MOV AL,10
SUB AL,AH
XOR AH,AH
D21:
CMP AL,0
JZ D3
MOV [DI],'' ;此行出错
INC DI
DEC AL
JMP D21 ;//297行
D3:
MOV AL,[SI]
INC SI
CMP AL,'#'
JZ D30
MOV [BX],AL
INC BX
JMP D3
D4:
MOV AL,[SI]
INC SI
CMP AL,'#'
JZ D30
JMP D4
D30:
LOOP DIVID
POP DX
POP CX
POP BX
POP AX
RET
DIVIDE ENDP
CODE ENDS
END START
djh512 2009-09-13
  • 打赏
  • 举报
回复
代码好长 能贴出来谁帮我看看么?
Forrest 2009-09-12
  • 打赏
  • 举报
回复
student.asm(129): error A2005: Symbol is multidefined: MATCH //'MATCH' 符号多处定义!
其他的也类似吧,更具语义先理解吧!
djh512 2009-09-12
  • 打赏
  • 举报
回复
好长呢 ~我先自己把错误找出来 ~汇编不会 ~现在要交作业,郁闷啊
BAYNPU 2009-09-12
  • 打赏
  • 举报
回复
把源程序贴出来看看吧。
GreenChrome是来自耍下的绿化Chrome实用小工具,目前作者已将该程序开源,工具不大,所以代码不是太讲究,见谅。 工具介绍: GreenChrome通过winmm.dll劫持的方式,本程序会随着Chrome启动。如果检测到外部程序打开Chrome,则自动追加配置文件中的参数到Chrome命令行。所谓外部程序打开,也就是指不是由Chrome自己启动新进程,例如双击运行(Explorer.exe),点击QQ面板上的邮箱(QQ.exe)。 其它说明: •虽然说的一直是Chrome,但其实程序内部并未指定可执行程序必须是"Chrome.exe",所以也能把它用在其它能够使用winmm.dll劫持的程序上。 •为了方便直接编译出64位版本,并且嵌入汇编,所以工程用的是MinGW编译。我用的是TDM版本,你可前往http://tdm-gcc.tdragon.net/download下载。 •双图标的问题,在我电脑上win7、win8.1,把pin后的快捷方式设置为只读确实可以解决,但是似乎也有人不灵,希望有能力的同学帮忙找到最终解决办法。对了,请在运行的时候锁定到任务栏,而不是直接在文件上选择锁定。 •报毒?我不知道有没有报毒的情况,但是通过dll劫持的方式运行,确实不是一个正常的操作。本来Chrome需要winmm.dll的时候,会去系统目录找的,但是当我们在它的目录下放了一个winmm.dll的时候,就会优先加载我们的dll了,正常的dll功能我们会转发给系统的dll去做,然后还可以加入我们自己的操作。

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧