王爽<<汇编语言>> 实验十四

  1 ;以"年/月/日 时:分:秒"的格式, 显示当前的日期, 时间
  2 assume cs:code 
  3 code segment
  4 main:
  5         mov al,9
  6         out 70h,al                        ;告诉CMOS RAM将要访问的存储单元编号
  7         in  al,71h            ;从该存储单元中读入数据
  8         
  9         mov ah,al
 10         mov cl,4
 11         shr al,cl
 12         add al,30h            ;显示的年份的十位的ascii码
 13         and ah,00001111b
 14         add ah,30h            ;显示的年份的个位的ascii码
 15         
 16         mov bx,0b800h
 17         mov es,bx
 18         mov byte ptr es:[160*12+30*2],al
 19         mov byte ptr es:[160*12+31*2],ah  ;显示年
 20         
 21         mov byte ptr es:[160*12+32*2],'/' ;显示'/'
 22         
 23         mov al,8
 24         out 70h,al                        ;告诉CMOS RAM将要访问的存储单元编号
 25         in  al,71h            ;从该存储单元中读入数据
 26         
 27         mov ah,al
 28         mov cl,4
 29         shr al,cl
 30         add al,30h            ;显示的年份的十位的ascii码
 31         and ah,00001111b
 32         add ah,30h            ;显示的年份的个位的ascii码
 33         
 34         mov byte ptr es:[160*12+33*2],al
 35         mov byte ptr es:[160*12+34*2],ah  ;显示月
 36         
 37         mov byte ptr es:[160*12+35*2],'/' ;显示'/'
 38         
 39         mov al,7
 40         out 70h,al                        ;告诉CMOS RAM将要访问的存储单元编号
 41         in  al,71h            ;从该存储单元中读入数据
 42         
 43         mov ah,al
 44         mov cl,4
 45         shr al,cl
 46         add al,30h            ;显示的年份的十位的ascii码
 47         and ah,00001111b
 48         add ah,30h            ;显示的年份的个位的ascii码
 49         
 50         mov byte ptr es:[160*12+36*2],al
 51         mov byte ptr es:[160*12+37*2],ah  ;显示日
 52         
 53         mov byte ptr es:[160*12+38*2],' ' ;显示' '
 54         
 55         mov al,4
 56         out 70h,al                        ;告诉CMOS RAM将要访问的存储单元编号
 57         in  al,71h            ;从该存储单元中读入数据
 58         
 59         mov ah,al
 60         mov cl,4
 61         shr al,cl
 62         add al,30h            ;显示的年份的十位的ascii码
 63         and ah,00001111b
 64         add ah,30h            ;显示的年份的个位的ascii码        
 65         
 66         mov byte ptr es:[160*12+39*2],al
 67         mov byte ptr es:[160*12+40*2],ah  ;显示时
 68         
 69         mov byte ptr es:[160*12+41*2],':' ;显示':'
 70         
 71         mov al,2
 72         out 70h,al                        ;告诉CMOS RAM将要访问的存储单元编号
 73         in  al,71h            ;从该存储单元中读入数据
 74         
 75         mov ah,al
 76         mov cl,4
 77         shr al,cl
 78         add al,30h            ;显示的年份的十位的ascii码
 79         and ah,00001111b
 80         add ah,30h            ;显示的年份的个位的ascii码        
 81         
 82         mov byte ptr es:[160*12+42*2],al
 83         mov byte ptr es:[160*12+43*2],ah  ;显示分
 84         
 85         mov byte ptr es:[160*12+44*2],':' ;显示':'
 86         
 87         mov al,0
 88         out 70h,al                        ;告诉CMOS RAM将要访问的存储单元编号
 89         in  al,71h            ;从该存储单元中读入数据
 90         
 91         mov ah,al
 92         mov cl,4
 93         shr al,cl
 94         add al,30h            ;显示的年份的十位的ascii码
 95         and ah,00001111b
 96         add ah,30h            ;显示的年份的个位的ascii码        
 97         
 98         mov byte ptr es:[160*12+45*2],al
 99         mov byte ptr es:[160*12+46*2],ah  ;显示秒
100              
101         
102         mov ax,4c00h
103         int 21h
104 code ends
105         end main 

 

posted @ 2014-12-21 18:59  预兆ZeD  阅读(244)  评论(0编辑  收藏  举报