DATA SEGMENT S1 DB 'ENTER ROWS:','$' S2 DB 'ENTER COLS:','$' ROW DW 0 COL DW 0 ROWLEN DW 0 COLLEN DW 0 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AH,9 LEA DX,S1 INT 21H CALL READDEC MOV ROW,AX MOV CL,3 SHL AX,CL MOV COLLEN,AX MOV AH,9 LEA DX,S2 INT 21H CALL READDEC MOV COL,AX MOV CL,3 SHL AX,CL MOV ROWLEN,AX MOV AX,0A000H MOV ES,AX MOV AX,13H INT 10H ;进入320 x 200 图形模式 MOV BP,ROW LOP1: MOV CX,ROWLEN MOV AX,BP SHL AX,1 SHL AX,1 SHL AX,1 MOV BX,0 CALL DRAWHLINE DEC BP JNS LOP1 MOV BP,COL LOP2: MOV CX,COLLEN MOV AX,0 MOV BX,BP SHL BX,1 SHL BX,1 SHL BX,1 CALL DRAWVLINE DEC BP JNS LOP2 MOV AH,7 INT 21H JMP START DRAWHLINE PROC ;绘制横线,入口AX:起始行坐标,BX:起始纵坐标,CX:线长度 MOV SI,320 MUL SI ADD BX,AX ;计算起始像素点 DRAWHPOINT: MOV BYTE PTR ES:[BX],1 INC BX LOOP DRAWHPOINT RET DRAWHLINE ENDP DRAWVLINE PROC ;绘制竖线,入口AX:起始行坐标,BX:起始纵坐标,CX:线长度 MOV SI,320 MUL SI ADD BX,AX ;计算起始像素点 DRAWVPOINT: MOV BYTE PTR ES:[BX],1 ADD BX,320 LOOP DRAWVPOINT RET DRAWVLINE ENDP READDEC PROC MOV CX,10 XOR BX,BX LOPREAD: MOV AH,01H INT 21H CMP AL,' ' JZ EXITREAD CMP AL,13 JZ EXITREAD SUB AL,30H PUSH AX MOV AX,BX MUL CX POP DX ADD AL,DL ADC AH,0 MOV BX,AX JMP LOPREAD EXITREAD: MOV AX,BX RET READDEC ENDP CODE ENDS END START解释这段代码