DOS下的电梯模型

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

CLSS MACRO ; 清屏之宏

MOV BH,0 ; 卷入行属性,黑底白字,正常显示.

MOV AX,0600H ; AH=6 屏幕初始化或上卷.AL=0 整个窗口空白.

INT 10H ; CH=左上角行号,CL=左下角列号.

ENDM ; DH=右上角行号,DL=右下角列号.

;-----------------------------------------------------------

GB MACRO ; 移光标之宏

MOV BH,00H ; BH=页号DH,DL=行号,列号.

MOV AH,02H ; AH=2置光标位置.

INT 10H

ENDM

;------------------------------------------------

HENG MACRO X1,Y1,COLOR,X2 ; 写横的宏

LOCAL BH1 ; 定义标号

MOV CX,X1 ; 起始点横作标-->X1

MOV DX,Y1 ; 起始点纵作标-->Y1

BH1: MOV AH,0CH ; 写象素

MOV AL,COLOR ; 设定颜色参数-->AL

INT 10H

INC CX

CMP CX,X2 ; 写至终点横作标为止

JNZ BH1

ENDM

;------------------------------------------------

SHU MACRO CX1,CY1,COLOR,CY2 ; 写竖的宏

LOCAL BH2 ; 定义标号

MOV CX,CX1

MOV DX,CY1

BH2: MOV AH,0CH

MOV AL,COLOR ; AL=(00--0FH)共16种颜色.

INT 10H

INC DX

CMP DX,CY2

JNZ BH2

ENDM

;-------------------------------------- ;上升宏,小方块上升的宏小方块缓慢上升一层,从N-1到N 层

UP MACRO N

LOCAL UPA

MOV AL,N

MOV CH,30

MUL CH

MOV DX,480

SUB DX,AX

MOV [CZ],DX

MOV [DZ],DX

SUB DX,20

MOV [LZ],DX

SUB DX,10

MOV DX1,DX

UPA: HENG 170,[LZ],05H,190 ;在方块上方划线

HENG 170,[DZ],00H,190 ;在方块下方消线(即将线划为黑色)

HENG 160,[CZ],04H,200 ;保证框线不变

DEC [DZ]

DEC [LZ]

MOV AX,DX1

CMP [DZ],AX

LOOP $

LOOP $

JNZ UPA

ENDM

;--------------------------------------------- 小方块下降的宏,缓慢下降,小方块从N+1层下降至N 层

DOWN MACRO N

LOCAL DNA ; 定义标号

MOV AL,N

MOV CH,30

MUL CH

MOV DX,400

SUB DX,AX

MOV [DZ],DX

ADD DX,20

MOV [CZ],DX

MOV [LZ],DX

ADD DX,10

MOV DX1,DX

DNA: HENG 170,[LZ],05H,190 ;在小方块下方画横

HENG 170,[DZ],00H,190 ;在小方块上方消横

HENG 160,[CZ],04H,200 ;保证框线不受影响

INC [DZ]

INC [LZ]

MOV AX,DX1

CMP [DZ],AX

LOOP $ ;延时,保证看到下降过程

LOOP $

JNZ DNA

ENDM

;---------------------------------------------画小方块的宏

INIT MACRO N,COLOR ;05H画小方块的宏,00H消方块

LOCAL BEG ; 定义标号

MOV AL,N ;小方块最初停在第N层,表示电梯最初停在第N 层

MOV CH,30

MUL CH

MOV DX,430

SUB DX,AX

MOV [DZ],DX

ADD DX,20

MOV DX1,DX

BEG: HENG 170,[DZ],COLOR,190 ;画小方块

INC [DZ]

MOV AX,DX1

CMP [DZ],AX

JNZ BEG

ENDM

;-------------------------------------------

OPEN MACRO ;画电梯开门状态的宏

LOCAL CC ; 定义标号

MOV [DZ],290

MOV [LZ],290

CC: SHU [DZ],220,00H,420 ;电梯开门

SHU [LZ],220,00H,420

INC [DZ]

DEC [LZ]

LOOP $ ;延时,看到开门过程

CMP [DZ],370

JNZ CC

ENDM

;-------------------------------------------

CLOSE MACRO ;画电梯关门状态的宏

LOCAL FF ; 定义标号

MOV [DZ],370

MOV [LZ],210

FF: SHU [DZ],220,07H,420 ;电梯关门

SHU [LZ],220,07H,420

DEC [DZ]

INC [LZ]

LOOP $

相关文档
最新文档