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

📄 mpc1.asm

📁 用汇编语言实现的类似DOS下打字的游戏
💻 ASM
字号:
;mainpic
data segment
	hour   db 0	;要初始化
	minute db 0
	second db 0 
	table db 'qpalzmxnskwieudjcnvbfhrytqscgyjmkopzoxicvubhnymtgrfjrekqdfghyuiopmbeswzaqwqpbncxmalalpnqcxz' 
data ends
stack segment stack
	db 200 dup (?)		
stack ends
code segment
	assume cs:code,ss:stack,ds:data
begin: 
	mov ax,data
	mov ds,ax
	
	mov ah,0
	mov al,3
	int 10h

	mov ah,15
	int 10h

	mov dx,0000h
	mov ah,2
	int 10h
	mov al,08h

	mov bh,0
	mov cx,80	;显示上眉
	mov ah,0ah
	int 10h

	mov cx,1
	mov dx,0100h	;显示左披
left:	mov ah,2
	int 10h
	mov al,08h
	mov ah,0ah
	int 10h
	inc dh
	cmp dh,24	 	 	  
	jb  left 
	
	mov dl,79	;显示右披
right:	mov ah,2
	int 10h
	mov al,08h
	mov ah,0ah
	int 10h
	dec dh
	ja right

	mov dx,1701h
	mov ah,2
	int 10h
	mov al,01h	 		 
	mov cx,78
	mov ah,0ah
	int 10h

	mov dx,1800h
	mov ah,2
	int 10h

	mov al,08h
	mov cx,80	;显示下眉
	mov ah,0ah
	int 10h
	
	call enter
	call topword	
	mov ah,4ch
	int 21h

; 显示游戏界面上方字母的子程序
topword proc 
	
	lea si,table
	mov cx,1
	mov dx,0101h	;预制光标位置

con:	mov ah,2
	int 10h

	mov ah,0ah
	mov al,table[si]
	int 10h
	
	
	inc si
	inc dl
	cmp dl,79
	jb con		;显示的字母不足78个转

	ret
topword endp
;游戏界面子程序和游戏子程序间的等待ENTER输入的子程序
enter proc 
	push ax
	push cx
	push dx

	mov ah,1
	int 16h
	jz  wait1		;键盘没有输入时等待
wait1:	call delay
	cmp al,0ah		;有输入时比较输入是否为enter键
	jne wait1
	cmp al,0dh
	jne wait1

;	mov ah,2ch	;为enter键则读取游戏开始时刻
;	int 21h
;	mov hour,ch	
;	mov second,cl
;	mov minute,dh

	pop dx
	pop cx
	pop ax
	ret
enter 	endp
;延时子程序,用于等待enter键时的暂停
DELAY PROC 
      PUSH CX
      PUSH DX
      MOV  DX,32
DL1:
      MOV CX,0FFFFH
DL2:
      LOOP DL2
      DEC  DX
      JNZ  DL1
      POP  DX
      POP  CX
      RET
DELAY ENDP
code	ends
	end begin




⌨️ 快捷键说明

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