关于汇编语言2~~

来源:百度知道 编辑:UC知道 时间:2024/06/06 06:51:23
C2:
CMP AL,'2'
JNE C3
MOV COLOR,000FH ;White
CALL PRINTTEXT

C3:
CMP AL,'3'
JNE C4
MOV COLOR,0001H ;Blue
CALL PRINTTEXT

C4:
CMP AL,'4'
JNE C5
MOV COLOR,000EH ;Yellow
CALL PRINTTEXT

C5:
CMP AL,'5'
JNE C6
MOV COLOR,0002H ;Green
CALL PRINTTEXT

C6:
CMP AL,'6'
JNE C7
CALL CARTOON

C7:
CMP AL,'7'
JNE C8
CALL CLINE
CALL name

C8:
CMP AL,'8'
JNE GETKEY
MOV AH,4CH ;RETURN TO THE DOS STATE
INT 21H

CARTOON PROC
CALL CLINE
MOV BP,OFFSET MSG6
MOV DX,1000H
MOV CX,26
MOV BX,COLOR
MOV AX,1301H
INT 10H
RET
CARTOON ENDP

PRINTTEXT PROC ;print MSG9
CALL CLINE
MOV BP,OFFSET MSG9

CLINE PROC NEAR ;use space clear line 9
MOV BP,OFFSET SPACE
MOV DX,0900H
MOV CX,80
MOV BX,0000H
MOV AX,1301H
INT 10H
RETCLINE ENDP

看到了没有?这个子程序定义proc语句中是cline,endp中却成了retcline,应该是
ret
cline endp

另外
NAME PROC FAR
BEGIN: PUSH DS
MOV AX, 0
PUSH AX
MOV AX, DATAs
MOV DS, AX
DISP: MOV DX, OFFSET MSG7
MOV AH, 9
INT 21H
KEYBD: MOV DX, OFFSET PARAS
MOV AH, 10
INT 21H
RET
NAME ENDP
怎么能用name作为子程序命呢?name不是伪指令名吗,就像你不能用db作为子程序名一样的。
还有,这个子程序没有必要定义成far类型吧,好象只在同一个代码段内调用吧?

路过

路过.踩踩

不知所云,纯支持