⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chidouzi.asm

📁 在屏幕上显示多行“豆子”(字符“.”)和一个“嘴巴”(字符“C”); 单击空格或者方向键开始吃豆子(可逐行进行
💻 ASM
字号:
DATA	SEGMENT
	T DB "C",210 DUP ("*"),"     made by yahack","$"
	D DB 25 DUP (' '),015,015,015,015,015,16,"   WELCOME   ",17,015,015,015,015,10,13,18 DUP (' '),0001,002,001,002,"   made by yahack   ",002,001,002,001,10,13,'$'
	K DB 10,13,"w--up    s--down    a--left    d--right    q--EXIT$"
	L DB 003,"   1 Eat One By One   ",003,"          ",005,"   2 You can control the Cursors   ",005,"$"
	N=240
DATA	ENDS
STACK	SEGMENT STACK                  
        DB 200 DUP(0)
STACK	ENDS
CODE	SEGMENT
	ASSUME CS:CODE,ES:DATA,DS:DATA,SS:STACK
BEGIN:	MOV AX,DATA
	MOV DS,AX
	MOV ES,AX
	LEA DX,D;提示
	MOV AH,9
	INT 21H
	LEA DX,L;提示
	MOV AH,9
	INT 21H
	MOV AH,8
	INT 21H ;输入指令选择吃豆子的方式
	CMP AL,'1'
	JZ B
	MOV DH,0;;;;;;;;;;;;;;;;;;;;;;;;;;;;   1   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	MOV DL,0
	MOV BH,0
	MOV AH,2
	INT 10H;将光标置于左上角
	LEA DX,T
	MOV AH,9
	INT 21H
	LEA DI,T
	MOV AH,1   ;输入字符开始吃
	INT 21H
	CLD
AG:	MOV DH,0
	MOV DL,0
	MOV BH,0
	MOV AH,2
	INT 10H;将光标置于左上角
	LEA DX,T
	MOV AH,9
	INT 21H
	PUSH CX ;保护现场
	PUSH DX
	MOV DX,0AFFH;延时
A1:
	MOV CX,0FFFFH
A2:	
	LOOP A2
	DEC DX
	JNZ A1
	POP DX
	POP CX;延时
	MOV AL,' ';将空格存入字符串
	STOSB
	MOV AL,'C';将'C'存入字符串
	STOSB
	DEC DI
	CMP DI,N ;判断是否吃完
	JE EXITA
	JMP AG
EXITA:	MOV AH,1
	INT 21H
	MOV AX,4C00H   ;推出程序
	INT 21H
B:	LEA DX,k;;;;;;;;;;;;;;;;;;;;;;;;;;;;    2    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	MOV AH,9
	INT 21H;提示
	MOV DI,0
	MOV DH,0
	MOV DL,0
	MOV BH,0
	MOV AH,2
	INT 10H;将光标置于左上角
	LEA DX,T
	MOV AH,9
	INT 21H
	MOV DX,0
	MOV DH,0
	MOV DL,0
	MOV BH,0
	MOV AH,2
	INT 10H;将光标置于左上角
BG:	MOV AH,8
	INT 21H
	CMP AL,'w';判断方向
	JZ B1
	CMP AL,'s'
	JZ B2
	CMP AL,'a'
	JZ B3
	CMP AL,'d'
	JZ B4
	CMP AL,'q'
	JZ EXIT
	JMP BG
B1:	DEC DH;根据判断结果对光标位置进行调整
	JMP B5
B2:	INC DH
	JMP B5
B3:	DEC DL
	JMP B5
B4:	INC DL
	JMP B5
B5:	MOV AH,0AH;在当前位置输出空格
	MOV AL,' '
	MOV BH,0
	MOV CX,1
	INT 10H
	MOV AH,2;设置光标位置
	MOV BH,0
	MOV DX,DX;行,列
	INT 10H
	MOV AH,0AH;在当前位置输出C
	MOV AL,'C'
	MOV BH,0
	MOV CX,1
	INT 10H
	JMP BG
EXIT:	MOV AX,4C00H  ;退出程序
	INT 21H
CODE 	ENDS
 	END BEGIN

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -