8086汇编贪吃蛇(随机食物+速度递增)

该博客详细介绍了如何使用8086汇编语言实现一个贪吃蛇游戏,包括游戏初始化、蛇的移动、碰撞检测、随机食物生成以及随着游戏进程速度逐渐增加的机制。通过中断处理、内存管理和屏幕输出等技术来实现游戏逻辑。
摘要由CSDN通过智能技术生成
基于8086实现的贪吃蛇
assume cs:code,ds:data

data segment
	dw 200 dup(0)	;--蛇身坐标
	dw 0,0,0		;--存储原始9号中断
data ends

stack segment 
	db 100 dup(0)
stack ends

code segment

start:
;;-----------------将原始的9号中断存在data断的最后,再把9号地址换掉到offset int9
	mov ax,0
	mov es,ax

	mov ax,data
	mov ds,ax

	push es:[9*4]
	pop ds:[400]

	push es:[9*4+2]
	pop ds:[402]
	
	mov word ptr es:[9*4],offset int9
	mov word ptr es:[9*4+2],cs

;;------------------
	mov ax,stack
	mov ss,ax
	mov sp,100

        mov ax,0b800h
        mov es,ax
;;-----------------snake的初始化
        mov bx,0

        mov cx,10
s:      mov ds:[bx],cx
        add bx,2
        loop s
	mov word ptr ds:[404],9

	call putfood
	mov  bx,0001h
	mov cx,60000
s1:
	call movnext
	call delay

        loop s1

;;------------恢复中断向量,程序结束
end_snake:
	mov ax,0
	mov es,ax

	push ds:[400]
	pop es:[9*4]
	push ds:[402]
	pop es:[9*4+2]

	mov 
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值