主题:汇编语言显示的问题
编写了一个很简单的汇编程序,用来在屏幕上显示1到10,可是编译连接后为什么屏幕回一直出现乱码,请求高手帮忙,在这里先谢谢了程序如下:
DATA SEGMENT
BUF DW 1,2,3,4,5,6,7,8,9,10
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV AL,10
MOV SI,OFFSET BUF
P1: MOV BX,[SI]
CALL DISPLAY
ADD SI,2
DEC AL
JNZ P1
DISPLAY PROC NEAR ;显示子程序
MOV CH,4
MOV CL,4
DISP0:ROL BX,CL
MOV DL,BL
AND DL,0FH
CMP DL,9
JA DISP1
ADD DL,30H
JMP DISP2
DISP1:ADD DL,37H
DISP2:MOV AH,02H
INT 21H
DEC CH
JNZ DISP0
RET
DISPLAY ENDP
MOV AH,4CH
INT 21H
CODE ENDS
END START
DATA SEGMENT
BUF DW 1,2,3,4,5,6,7,8,9,10
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV AL,10
MOV SI,OFFSET BUF
P1: MOV BX,[SI]
CALL DISPLAY
ADD SI,2
DEC AL
JNZ P1
DISPLAY PROC NEAR ;显示子程序
MOV CH,4
MOV CL,4
DISP0:ROL BX,CL
MOV DL,BL
AND DL,0FH
CMP DL,9
JA DISP1
ADD DL,30H
JMP DISP2
DISP1:ADD DL,37H
DISP2:MOV AH,02H
INT 21H
DEC CH
JNZ DISP0
RET
DISPLAY ENDP
MOV AH,4CH
INT 21H
CODE ENDS
END START