主题:有分///
从屏幕上接收行数N(0<N<10)和列数M(0<M<10),按指定格式显示N行和M列的’*’字符。
我写了部分代码请高手修改成能够在DOS下先输入行与列,再输出图形.
DATA SEGMENT
M EQU 7
N EQU 6
CR EQU 0DH
LF EQU 0AH
STAR DB '*'
BLANK DB ' '
NUM EQU 10
DATA ENDS
CODE SEGMENT'CODE'
ASSUME CS:CODE,DS:DATA
BEGIN:MOV AX,DATA
MOV DS,AX
MOV CX,M
MOV BH,N
MOV BL,NUM
STA:MOV SI,0
MOV DL,BLANK[SI]
MOV AH,02H
INT 21H
DEC BL
CMP BL,0
JE STARTM
JMP STA
STARTM:MOV SI,0
MOV DL,STAR[SI]
MOV AH,02H
INT 21H
DEC CX
CMP CX,0
JE STARTN
JMP STARTM
STARTN:MOV CX,M
MOV DL,CR
MOV AH,02H
INT 21H
MOV DL,LF
MOV AH,02H
INT 21H
DEC BH
CMP BH,0
MOV BL,NUM
JNE STA
MOV AX,4C00H
INT 21H
CODE ENDS
END BEGIN
我写了部分代码请高手修改成能够在DOS下先输入行与列,再输出图形.
DATA SEGMENT
M EQU 7
N EQU 6
CR EQU 0DH
LF EQU 0AH
STAR DB '*'
BLANK DB ' '
NUM EQU 10
DATA ENDS
CODE SEGMENT'CODE'
ASSUME CS:CODE,DS:DATA
BEGIN:MOV AX,DATA
MOV DS,AX
MOV CX,M
MOV BH,N
MOV BL,NUM
STA:MOV SI,0
MOV DL,BLANK[SI]
MOV AH,02H
INT 21H
DEC BL
CMP BL,0
JE STARTM
JMP STA
STARTM:MOV SI,0
MOV DL,STAR[SI]
MOV AH,02H
INT 21H
DEC CX
CMP CX,0
JE STARTN
JMP STARTM
STARTN:MOV CX,M
MOV DL,CR
MOV AH,02H
INT 21H
MOV DL,LF
MOV AH,02H
INT 21H
DEC BH
CMP BH,0
MOV BL,NUM
JNE STA
MOV AX,4C00H
INT 21H
CODE ENDS
END BEGIN