微机原理课程设计_显示彩色矩形块_汇编课程设计|精品课程网站设计|课程设计网报告总结心得
这是一个用四种颜色各显示一个矩形块的程序
DATA SEGMENT
LINE DW 0 ;矩形块左上角的行
ROW DW 0 ;矩形块左上角的列
PIX DB 0 ;矩形块的颜色
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: ;主程序
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, 4
L1:
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
RET
DISP_RECT ENDP
delay proc near
push cx
push dx
mov dx,5000
d11: mov cx,25000
d12: loop d12
dec dx
jnz d11
pop dx
pop cx
ret
delay endp
CODE ENDS
END START