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

📄 systime.asm

📁 部分具体运行步骤: 将系统时间存储 用cl来设置标志 用循环来转换
💻 ASM
字号:
;ALL RIGHTS RISERVE
;这是我个人的东西
DISPLAY MACRO VAL
   MOV AH,09
   LEA DX,VAL
   INT 21H
ENDM        
;————————————————
.MODEL SMALL
          .STACK 64
;_____________________________
          .DATA
da1   db 9 dup(0)
time  db 01H,0,0,0,0,'Y',0,0,'M',0,0,'D',0,'W',0,0,'H',0,0,'M',0,0,'S',0,0,'MS','$'     
;_____________________________
          .CODE
MAIN      PROC FAR 
          MOV AX,@DATA
          MOV DS,AX
          mov ah,2ah
          int 21h

MOV WORD PTR DA1,CX                    ;将系统时间存储
MOV BYTE PTR DA1+2,DH
MOV BYTE PTR DA1+3,DL
MOV BYTE PTR DA1+4,AL

MOV AH,2CH
INT 21H
MOV BYTE PTR DA1+5,CH
MOV BYTE PTR DA1+6,CL
MOV BYTE PTR DA1+7,DH
MOV BYTE PTR DA1+8,DL                 ;————————————

lea si,time                ;从后面往回做
ADD SI,25
LEA DI,DA1                   
ADD DI,8
MOV CL,[SI]                ;用cl来设置标志
   
lop:   CMP CL,'Y'
       JE GO               ;年需要特别处理
       DEC SI              ;跳过字符
       XOR AX,AX
       MOV AL,[DI]          ;用循环来转换,每次转换成一位或两位数(一位数是星期)
       JMP DO
GO:    DEC SI            
       MOV AH,[DI]
       MOV AL,[DI-1]
DO:    CALL b2asc_con       ;
       DEC DI
       MOV CL,[SI]
       CMP CL,01H           ;
       JNE lop              ;控制循环,odh是标志,不等于odh,继续
mov ax,0600h
mov bh,07
mov cx,0
mov dx,184fh
int 10h
  mov ah,02
mov bh,0
mov dx,0c1ah
int 10h
       DISPLAY TIME
       mov ah,4ch
       int 21h

main endp 
;子程序,用来转换成ascii
b2asc_con proc
  mov bx,10
back: sub dx,dx
  div bx
  or  dl,30h
  mov [si],dl
  dec si
  cmp ax,0
  ja  back
  ret
b2asc_con endp
;_______________
  end main                                                                                                                                                                                                                                                                                   

⌨️ 快捷键说明

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