?? chidouzi.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 + -