|
|
#3
rockefelleryj2008-06-17 08:40
我自己只会写画横竖线的,不知道怎么改成圆...
Data segment
db ?
data ends
code segment
assume cs:code,ds:data
start:mov ah,0
mov al,12h ;显示方式为12H,显示器分辨率为640*480
int 10h
mov ah,6
mov al,0
mov ch,0
mov cl,0
mov dh,18h ;00011000
mov dl,4fh ;设上述入口参数,6号功能完成清屏工作
int 10h
mov dx,0 ;纵坐标初始化
next1:mov cx,0 ;横坐标初始化
next2:mov al,4 ;置像素颜色为红色
mov ah,0ch ;画点功能调用
mov bh,0
int 10h
inc cx ;横坐标值+1
cmp cx,280h ;(cx)<=280h,画下一个点
jbe next2
add dx,28H ;(dx)+28h,准备下一条线
cmp dx,1e0h ;(dx)<1e0h,准备画下一条横线
jb next1
mov cx,0 ;横坐标初始化
lop1:mov dx,0 ;纵坐标初始化
lop2:mov al,2 ;置像素颜色颜色为绿色
mov ah,0ch ;画点功能调用
mov bh,0
int 10h
inc cx ;准备画下一个点
cmp dx,1e0h
jbe lop2 ;dx<=1e0h,画下一个 点
add cx,28h ;cx+28h准备下一条线
cmp cx,280h
jb lop1 ;cx<280h,准备画下一条竖线
mov ah,4ch
int 21h
code ends
end start
|