1、打开masm汇编编译程序,新建一个masm源文件脚本。DATAS SEGMENT ;此处输入数据段代码 DATAS ENDSSTACKS SEGMENT ;此处输入堆栈段代码STACKS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART: MOV AX,DATAS MOV DS,AX ;此处输入代码段代码 MOV AH,4CH INT 21HCODES ENDS END START
2、在正文中输入我们的程序代码,并将文件命名为juzhen.asmDATA SEGM苇质缵爨ENTLINE DW 0 ;矩形块禾韧喹缎左上角的行ROW DW 0 ;矩形块左上角的列PIX DB 0 ;矩形块的颜色DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: ;主程序 MOV AX , DATA MOV DS , AX MOV AH , 0 MOV AL , 4 INT 10H ;设置320×200彩色图形方式 mov ah,0bh mov bh,01 mov bl,0 int 10h MOV CX, 4L1: CALL DISP_RECT call delay inc PIX ;每循环一次,点的颜色加1 ADD ROW , 30 ;改变下一个方块的显示位置 LOOP L1 MOV AH , 4CH INT 21H ;返回DOS;显示矩形块的子程序,矩形块的显示位置由DATA段中的LINE、ROW变量指定,;颜色由PIX变量指定,矩形块的大小是固定的,为10个点宽,100个点高。DISP_RECT PROC near PUSH AX PUSH CX PUSH DX PUSH SI PUSH DI MOV AH , 0CH ;指明写点调用 MOV AL , PIX ;取点的颜色 MOV DI , 100 ;用于控制行显示循环 MOV DX , LINE ;取点的行坐标DISP_2: MOV SI , 10 ;控制列显示循环 MOV CX , ROW ;取显示点的列坐标DISP_1: INT 10H ;完成点的显示 INC CX ;列坐标加1(行不变) DEC SI JNZ DISP_1 ;循环显示完一行的10个点 INC DX ;行坐标加1 DEC DI JNZ DISP_2 ;循环显示完100行 POP DI POP SI POP DX POP CX POP AX RETDISP_RECT ENDPdelay proc near push cx push dx mov dx,5000d11: mov cx,25000 d12: loop d12 dec dx jnz d11 pop dx pop cx retdelay endpCODE ENDS END START
3、运行我们编辑的文件