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

📄 date1.txt

📁 汇编语言
💻 TXT
字号:
; Date Program.
title date
data segment
    ; add your data here!
    Title1 db "Today is :$"
    
    OYear  db 4 dup(?)
           db "-"
    OMonth db 2 dup(?)
           db "-"
    ODay   db 2 dup(?)
           db 0DH,0AH,"$"
           
    Title2 db "Please input new date(format:YYYY-MM-DD):$"
            
    NDate  db 11
           db ? 
    NYear  db 4 dup(?)
           db "-"
    NMonth db 2 dup(?)
           db "-"
    NDay   db 2 dup(?)
             
ends

stack segment
    dw   128  dup(0)
ends

code segment
BCDAsc  proc near
    mov al, ah
    and al, 0fh
    or  al, 30h
    ror ah, 4
    and ah, 0fh
    or  ah, 30h
    mov [si],ax  
    ret
BCDAsc  endp
AscBCD  proc near
    mov ax, [si]
    and ax, 0f0fh
    ror ah, 4
    add ah, al
    ret
AscBCD  endp
start:
; set segment registers:
    mov ax, data
    mov ds, ax
    mov es, ax

    ; display Title1
    lea dx, Title1
    mov ah, 09h
    int 21h

    ; get old date
    mov ah, 2ah
    int 21h
    
    ; save old date
    mov ah, ch          ; Century
    lea si, OYear
    call BCDAsc
    
    mov ah, cl          ; Year
    inc si
    inc si
    call BCDAsc         
    
    mov ah, dh          ; Month
    lea si, OMonth      
    call BCDAsc
    
    mov ah, dl          ; Day
    lea si, ODay         
    call BCDAsc
    
    ; display Old Date
    lea dx, OYear
    mov ah, 09h
    int 21h
    
    ; display Title2
    lea dx, Title2
    mov ah, 09h
    int 21h
    
    ; input new date
    mov dx, offset NDate
    mov ah, 0ah
    int 21h
    
    ; set new date
    lea si, NYear       ; Century
    call AscBCD
    mov ch, ah    

    inc si              ; Year
    inc si        
    call AscBCD
    mov cl, ah    
    
    lea si, NMonth       ; Month
    call AscBCD
    mov dh, ah    
    
    lea si, NDay        ; Day
    call AscBCD
    mov dl, ah    
    
    mov ah, 2bh
    int 21h

    mov ax, 4c00h ; exit to operating system.
    int 21h    
ends

end start ; set entry point and stop the assembler.

⌨️ 快捷键说明

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