微机原理课程设计_显示彩色矩形块_汇编课程设计|精品课程网站设计|课程设计网报告总结心得
这是一个用四种颜色各显示一个矩形块的程序
DATA SEGMENTLINE DW 0 ;矩形块左上角的行ROW DW 0 ;矩形块左上角的列PIX DB 0 ;矩形块的颜色DATA ENDS
CODE SEGMENTASSUME CS:CODE,DS:DATASTART: ;主程序MOV AX , DATAMOV DS , AXMOV AH , 0MOV AL , 4INT 10H ;设置320×200彩色图形方式
mov ah,0bhmov bh,01mov bl,0int 10hMOV CX, 4L1:CALL DISP_RECTcall delayinc PIX ;每循环一次,点的颜色加1ADD ROW , 30 ;改变下一个方块的显示位置LOOP L1MOV AH , 4CHINT 21H ;返回DOS;显示矩形块的子程序,矩形块的显示位置由DATA段中的LINE、ROW变量指定,;颜色由PIX变量指定,矩形块的大小是固定的,为10个点宽,100个点高。DISP_RECT PROC nearPUSH AXPUSH CXPUSH DXPUSH SIPUSH DIMOV 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 SIJNZ DISP_1 ;循环显示完一行的10个点INC DX ;行坐标加1DEC DIJNZ DISP_2 ;循环显示完100行POP DIPOP SIPOP DXPOP CXPOP AXRETDISP_RECT ENDPdelay proc nearpush cxpush dxmov dx,5000d11: mov cx,25000d12: loop d12dec dxjnz d11pop dxpop cxretdelay endpCODE ENDSEND START