zoukankan      html  css  js  c++  java
  • 访问CMOS RAM 【 以"年/月/日 时:分:秒" 的格式,显示当前的日期、时间】

    ;访问CMOS RAM
    ;
    ;编程:
    ;  以"年/月/日 时:分:秒" 的格式,显示当前的日期、时间
    ;

      1 assume cs:code
      2 
      3 data segment
      4  db '9/8/7 4:2:0', '$'
      5 data ends
      6 
      7 code segment
      8 start:
      9  
     10    mov ax, data
     11    mov ds, ax
     12    mov bx, 0
     13    mov di, 0 ;初始化参数
     14  
     15  s:  
     16    mov al, [bx] ;al 传递的参数 注意此时al存放的是9的ASCII码
     17    cmp al, '$'
     18    je quit 
     19    call date
     20    inc bx
     21    jmp short s
     22    
     23  ;注意:在s 与 jmp short s  之间不能修改di的值  
     24 
     25 
     26  ;--------------------------------
     27  ;显示时间的子程序
     28  ;参数:
     29  ; 1、al  在COMS RAM中存放时间的地址
     30  ; 2、di  显示的偏移地址 初始位置
     31  ;
     32  ;--------------------------------
     33  date:
     34     push ax
     35     push bx
     36     push cx
     37     push es
     38     
     39     mov bx, 0b800h
     40     mov es, bx
     41     mov bl, 0ah
     42     
     43     ;==================
     44     ;判断模块
     45     ;==================
     46     ;9/8/7 4:2:0    
     47     
     48     ;不是0~9的ASCII码
     49     cmp al, 30h  
     50     jb showfen   
     51     cmp al, 39h
     52     ja showfen   
     53     
     54     ;是0~9的ASCII码
     55     sub al, 30h
     56 
     57     cmp al, 9
     58     je showdate
     59     cmp al, 8
     60     je showdate
     61     cmp al,7
     62     je showdate
     63     cmp al, 4
     64     je showdate
     65     cmp al, 2
     66     je showdate
     67     cmp al, 0
     68     je showdate
     69     
     70     ;都不是则直接显示
     71     add al, 30h
     72     jne showfen
     73   
     74     ;==================
     75     ;显示时间模块
     76     ;==================
     77  showdate: 
     78     ;mov al, 9   al作为参数传递进来
     79     out 70h, al
     80     in al, 71h
     81     mov ah, al
     82     mov cl, 4
     83     shr ah, cl
     84     and al, 00001111b
     85     
     86     ;ASCII才能显示  所有要转换成ASCII
     87     add ah, 30h
     88     add al, 30h
     89     
     90     mov byte ptr es:[160*12+40*2+di], ah  ;显示十位
     91     mov byte ptr es:[160*12+40*2+di+1], bl
     92     mov byte ptr es:[160*12+40*2+di+2], al  ;显示个位
     93     mov byte ptr es:[160*12+40*2+di+3], bl
     94     add di, 4
     95     jmp short dateend
     96     
     97    ;==================
     98    ;显示分割符模块
     99    ;==================
    100  showfen:  
    101    mov byte ptr es:[160*12+40*2+di], al  ;显示分隔符
    102    mov byte ptr es:[160*12+40*2+di+1], bl
    103    add di, 2
    104    
    105  dateend:
    106    pop es
    107    pop cx
    108    pop bx
    109    pop ax
    110   
    111    ret
    112    
    113  quit:  
    114   mov ax, 4c00h
    115   int 21h
    116   
    117 code ends
    118 end start
  • 相关阅读:
    JSON 体验JSON (二)json格式化日期
    让D2006的控件面板回到D7的样式
    突破网站限制 复制网页内容
    欢迎光临
    加密Access数据库
    取得程序中一些特殊文件夹的位置
    连接带密码的Access数据库
    我被强暴,老公这样回答是人么?(转~非黄)
    【WinCE版凯立德】2012春季版地图下载
    刚刚拍到的日环食金星凌日
  • 原文地址:https://www.cnblogs.com/qintangtao/p/2871700.html
Copyright © 2011-2022 走看看