不晓得为啥我们学的汇编和别人家的汇编不一样,是link xxx /tiny的,直接出可运行的.com文件,所以网上很多五角星程序用不了。。。
没办法自己写了个交作业。
图形模式计算点坐标太难了,于是自己拿画图画了一个像素五角星,给它变成了行和列的相对坐标,存缓冲区里,用xlat查表来简化代码,免得都是重复画点代码又臭又长。。。
.model tiny
.code
.startup
mov ah,0FH
int 10H ;保存原显示模式
mov before,ax
mov al,0DH
mov ah,0
int 10H ;设置为彩色图形模式
mov bh,0
mov bl,0
mov ah,0BH ;黑色调色板
int 10H
fillc: mov dx,0C8H
mov ah,0CH
mov al,red ;填充背景颜色为红色
folp: dec dx
mov cx,13FH
filp: int 10H
dec cx
cmp cx,0
jnl filp
cmp dx,0
jnz folp
mov b,bh ;保存好bh的值
mov x,18H
mov y,18H
call draws ;在给定位置绘制五角星
mov x,10H
mov y,6FH
call draws
mov x,30H
mov y,58H
call draws
mov x,50H
mov y,38H
call draws
mov x,60H
mov y,0FH
call draws
mov ah,01H
int 21H
mov ax,before ;恢复原显示方式后结束
mov ah,0
int 10H
mov ah,4CH
int 21H
.exit 0
before dw ?
b db ?
x dw ?
y dw ?
red equ 4
yellow equ 0EH
start db 10,-1,-2,-3
汇编语言绘制五角星

最低0.47元/天 解锁文章
3275





