8086汇编tiny模式下的五角星程序

不晓得为啥我们学的汇编和别人家的汇编不一样,是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
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值