?? birdfly.asm
字號(hào):
;程序開(kāi)始,創(chuàng)建數(shù)據(jù)段,賦值.
DATA SEGMENT
INFO1 DB 0DH,0AH,'INPUT 1,OR2:(1:flyin bird ,2:exit) $'
BIRD DB '\',7,'/',7,'_',7,'_',7 ;小鳥(niǎo)的字符圖形表 ,92為\,47為/,95為_(kāi),7為顏色白色
DATA ENDS ;數(shù)據(jù)段結(jié)束
;
STACK SEGMENT STACK ;創(chuàng)建200字節(jié)的棧段 用0填充
DB 200 DUP(0)
STACK ENDS
;
CODE SEGMENT ;定義代碼段
ASSUME CS:CODE,DS:DATA,SS:STACK
;設(shè)定段關(guān)聯(lián)
;代碼段主程序開(kāi)始
START: MOV AX,DATA ;定義數(shù)據(jù)段地址
MOV DS,AX
;
MOV AH,0
MOV AL,4
INT 10H
;
LEA DX,INFO1 ;在顯示器上顯示字符串提示信息
MOV AH,9
INT 21H
;
MOV AH,0 ;從鍵盤(pán)讀取字符到AL寄存器
INT 16H
CMP AL,31H ;比較AL是否等于1
JNE A ;如果不是1就轉(zhuǎn)到A處
CALL XIAO ;如果是1就轉(zhuǎn)到子程序XIAO處
A: CMP AL,32H ;比較AL是否等于2
JNE START ;如果也不等于2就回到程序起點(diǎn)處 如果是就繼續(xù)
MOV AH,4CH ;終止當(dāng)前程序并返回調(diào)用程序
INT 21H ;
;
CLEAR MACRO ;清屏宏定義
MOV AH,0
MOV AL,4
INT 10H
ENDM
;
DLY PROC NEAR ;延時(shí)子程序
PUSH CX
PUSH DX
MOV DX,10000 ;這個(gè)值越大,速度越慢
DL1: MOV CX,0
DL2: LOOP DL2
DEC DX
JNZ DL1
POP DX
POP CX
RET
DLY ENDP
;
XIAO PROC ;小鳥(niǎo)子程序入口
PUSH DS ;數(shù)據(jù)段入棧
MOV AX,0 ;AX歸零
PUSH AX ;AX進(jìn)棧
MOV AX,DATA ;設(shè)定代碼段
MOV DS,AX
CLEAR ;清屏
MOV DH,0 ;設(shè)小鳥(niǎo)初始位置Y軸位置 最左上角為 DH=0,DL=0 小鳥(niǎo)的位置就靠
MOV DL,0 ;設(shè)小鳥(niǎo)初始位置X軸位置 最右下角為 DH=24,DL=79 改變這兩個(gè)值
BEGIN: ;開(kāi)始顯示小鳥(niǎo)
MOV SI,2 ;
MOV CX,1 ;字符重復(fù)次數(shù)為1
;
LEA DI,BIRD ;DI指向小鳥(niǎo)字符表的首字母
;
DISP: CMP DH,24 ;設(shè)定結(jié)束情況為移動(dòng)到X=25位置就執(zhí)行EXIT1退出
JAE EXIT1
MOV AH,2 ;設(shè)置光標(biāo)位置
INT 10H
MOV AH,9 ;顯示小鳥(niǎo)字符圖形
MOV AL,[DI]
MOV BL,[DI+1]
INT 10H
inc dl
MOV AH,2 ;設(shè)置光標(biāo)位置
INT 10H
MOV AH,9 ;顯示小鳥(niǎo)字符圖形
MOV AL,[DI+2]
MOV BL,[DI+3]
INT 10H
CALL DLY ;延時(shí)
dec dl
MOV AH,2 ;設(shè)置光標(biāo)位置
INT 10H
MOV AH,9 ;小鳥(niǎo)消失
MOV AL,' '
MOV BL,04
INT 10H
inc dl
MOV AH,2 ;設(shè)置光標(biāo)位置
INT 10H
MOV AH,9 ;小鳥(niǎo)消失
MOV AL,' '
MOV BL,04
INT 10H
inc dh ;小鳥(niǎo)Y坐標(biāo)加1
ADD DI,4
DEC SI
JNZ DISP
JMP BEGIN
EXIT1: RET ;
XIAO ENDP ;小鳥(niǎo)子程序結(jié)束
CODE ENDS ;代碼段結(jié)束
END START ;主程序結(jié)束
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -