项羽姓秦 发表于 2020-4-5 15:41:01

实验14代码,如何实现年份显示


我已经显示了年份的尾数, 但是不知道如何全部显示出来,望大神请教!

assume cs:code
code segment
        s0 db 9,8,7,4,2,0,'
start:
        mov ax,cs
        mov ds,ax
        mov si,offset s0
        mov bx,0b800h
        mov es,bx
        mov di,7d0h
       
s:       
        mov al,
        out 70h,al
        in al,71h
        mov ah,al
        mov cl,4
        shr ah,cl
        and al,00001111b
       
        add ah,30h
        add al,30h
       
        mov es:,ah
        mov es:,al
        mov byte ptr es:,'/'
        add di,6
        inc si
        cmp byte ptr ,'
        je ok
        jmp s

ok:        mov ax,4c00h
        int 21h
code ends
end start

人造人 发表于 2020-4-5 15:50:59

读取cmos时间不好吗?

项羽姓秦 发表于 2020-4-5 18:08:05

人造人 发表于 2020-4-5 15:50
读取cmos时间不好吗?

是读取到了.

但是年份的读取没有更好的显示出来,因为年份是四位数的,而我代码中只显示两位数的;

想要在第一次循环中可以显示出年份的四位数值出来,后面的只显示两位数的值。

人造人 发表于 2020-4-5 18:17:23

课程设计2中有显示时间日期的要求,你可以看看我的代码
https://fishc.com.cn/thread-158246-1-1.html

read_time:
      push    ax
      push    bx
      push    cx
      
      mov   bx, offset time
      mov   cx, 4
      
      ; 读取秒
      mov   al, 0
      out   70h, al
      in      al, 71h
      mov   ah, al
      and   al, 0fh
      shr   ah, cl
      add   al, '0'
      add   ah, '0'
      mov   , al
      mov   , ah
      
      ; 读取分
      mov   al, 2
      out   70h, al
      in      al, 71h
      mov   ah, al
      and   al, 0fh
      shr   ah, cl
      add   al, '0'
      add   ah, '0'
      mov   , al
      mov   , ah
      
      ; 读取时
      mov   al, 4
      out   70h, al
      in      al, 71h
      mov   ah, al
      and   al, 0fh
      shr   ah, cl
      add   al, '0'
      add   ah, '0'
      mov   , al
      mov   , ah
      
      ; 读取日
      mov   al, 7
      out   70h, al
      in      al, 71h
      mov   ah, al
      and   al, 0fh
      shr   ah, cl
      add   al, '0'
      add   ah, '0'
      mov   , al
      mov   , ah
      
      ; 读取月
      mov   al, 8
      out   70h, al
      in      al, 71h
      mov   ah, al
      and   al, 0fh
      shr   ah, cl
      add   al, '0'
      add   ah, '0'
      mov   , al
      mov   , ah
      
      ; 读取年
      mov   al, 9
      out   70h, al
      in      al, 71h
      mov   ah, al
      and   al, 0fh
      shr   ah, cl
      add   al, '0'
      add   ah, '0'
      mov   , al
      mov   , ah
      
      ; 读取世纪
      mov   al, 32h
      out   70h, al
      in      al, 71h
      mov   ah, al
      and   al, 0fh
      shr   ah, cl
      add   al, '0'
      add   ah, '0'
      mov   , al
      mov   , ah
      
      pop   cx
      pop   bx
      pop   ax
      ret

项羽姓秦 发表于 2020-4-5 21:44:47

人造人 发表于 2020-4-5 18:17
课程设计2中有显示时间日期的要求,你可以看看我的代码
https://fishc.com.cn/thread-158246-1-1.html



非常感谢!
页: [1]
查看完整版本: 实验14代码,如何实现年份显示