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

📄 2.asm

📁 时钟自动显示,每隔一分钟就移动在不同位置的显示屏下
💻 ASM
字号:
STACK SEGMENT STACK 
DW 200 DUP (?) 
STACK ENDS
data segment
y dw 1205h
STR  DB 0DH,0AH, 'PLEASE INPUT TIME(t) OR QUIT(q): $'
data ends
code segment
begin proc far
      assume cs:code,ds:data,es:data

     mov ax,data 
     mov ds,ax
     mov es,ax
  LEA DX,STR            ;显示提示信息 
MOV AH,9 
INT 21H 
     MOV AH,1              ;从键盘输入单个字符 
INT 21H 
CMP AL,74H            ;AL='t'? 
JNE B 
CALL s          ;显示系统时间 
B:   CMP AL,71H            ;AL='q'? 
JNE begin 
MOV AH,4CH            ;返回dos状态 
INT 21H 


     mov dh,16
     mov dl,10
     push dx
     MOV DI,OFFSET Y
S:   mov bh,07h
     mov ch,0
     mov cl,0
     mov dh,24
     mov dl,80
     mov al,0
     mov ah,7
     int 10h
     pop dx
     mov ah,2
     mov bh,0
     add dh,13
     add dl,33
     int 10h
     cmp dH,24
     ja x
     CMP DL,64
     JA X
     push dx
    
     mov ah,2ch
     int 21h
     call n
     mov dl,3ah
     mov ah,2
     int 21h
     mov ch,cl
     call n
     mov dl,3ah
     mov ah,2
     int 21h
     mov ch,dh
     call n
           mov bx,900h   
REPEA: MOV CX,0ffffH       ;延时
REPEAT:LOOP REPEAT
        dec bx   
       JNZ REPEA
     mov ah,0bh
     int 21h
     inc al
     jnz s
     mov ah,1
     int 21h
     cmp al,'q'
     je e
    jmp s

G:   mov ah,1
     int 21h
     cmp al,'q'
     je e
     jmp s
  
 x:  mov ah,0bh
     int 21h
     inc al
     jZ G
     
     MOV DX,[DI]
     INC DI
     inc di
     
     PUSH DX
     JMP  S

e:   mov ah,4ch
     int 21h
begin endp
     
n proc
push ax
push bx
;push dx
  mov bl,10
  mov al,ch
  mov ah,0
  div bl
  mov bh,ah
 mov dl,al
  add dl,30h
  mov ah,2
  int 21h
  mov dl,bh
  add dl,30h
  mov ah,2
  int 21h
pop ax
pop bx
;pop dx
  ret
n endp
code ends
   end begin

⌨️ 快捷键说明

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