error A2108
运行一段代码如下:
DATA SEGMENT
NUM DB 0AH,0DH,'************* 姓名',0ah,0dh,'$'
FD EQU 0
LINEN EQU 7
DATA ENDS
STACK SEGMENT STACK
DW 100H DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,SS:STACK,DS:DATA
START: MOV AX,DATA
MOV DS,AX
;========MAIN()===========
CALL CRLF
CALL CRLF
;------上半打印---------
MOV CH,05H
LOP1:
;------PRINT SPACE------
MOV CL,11 ;循环控制
SUB CL,CH
LOP2A: CALL SPACE
DEC CL
JNZ LOP2A
;------PRINT 0-9-----
MOV CL,CH ;输出字符个数控制
ADD CL,CL
DEC CL
LOP2B:
;======题目10 End=======
MOV AL,FD ;输出字符
mov dl,al
add dl,'0'
mov dh,ch
call writecc
DEC CL
JNZ LOP2B
;------PRINT 0-9-End-
CALL CRLF
INC DH ;题目3
INC CH
CMP CH,LINEN
JBE LOP1
;-----上半打印结束---------
;-----下半打印结束---------
DEC DH
DEC DH
MOV CH,LINEN-1
XLOP1:
;------PRINT SPACE------
MOV CL,11
SUB CL,CH
XLOP2A: CALL SPACE
DEC CL
JNZ XLOP2A
;------PRINT 0-9-----
MOV CL,CH
ADD CL,CL
DEC CL
XLOP2B:
MOV AL,FD
mov dl,al
add dl,'0'
mov dh,ch
call writecc
DEC CL
JNZ XLOP2B
;------PRINT 0-9-End-
CALL CRLF
DEC CH
JNZ XLOP1
;-----下半打印结束---------
MOV DX,OFFSET NUM
MOV AH,9
INT 21H
MOV AH,1
INT 21H
;===========================
MOV AX,4C00H
INT 21H
;------------------------
CRLF PROC NEAR ;输出换行
PUSH AX
PUSH DX
MOV AH,2
MOV DL,0AH
INT 21H
MOV DL,0DH
INT 21H
POP DX
POP AX
RET
CRLF ENDP
SPACE PROC NEAR ;输出空格
PUSH AX
PUSH DX
MOV AH,2
MOV DL,''
INT 21H
POP DX
POP AX
RET
SPACE ENDP
;----------------------------
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;色彩字符;;;;;;;;;;;;;;;;;;;;;;;;;;;
;程序名称:WriteCC
;程序功能:色彩字符输出子程序
;入口条件:DL=输出字符的Ascll,DH=颜色值(0--9)
; 出口:无
;影响寄存器:无
col DB 00000011b,000000010b,00000100b,00001001b,000000001b
DB 00000110b,00001101b,00001100b,00000010b,00000101b
WriteCC PROC near
push AX
push bx
push cx
push dx
push si
xor AH,AH
MOV AL,dh
MOV si,AX
MOV AH,9
MOV AL,DL
MOV bh,0
MOV bl,col[si]
MOV cx,1
INT 10h
MOV AH,3
INT 10h
MOV AH,2
inc DL
INT 10h
pop si
pop dx
pop cx
pop bx
pop AX
ret
WriteCC ENDP
CODE ENDS
END START
最后提示一个错误:test.asm(104):error A2108 empty string
不知错在哪,求大神解决!!
[解决办法]
2012-08-23 09:19 359 K5.OBJ
3 File(s) 3,937 bytes