| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1129 人关注过本帖
标题:汇编中的获取系统时间
只看楼主 加入收藏
sally08913
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-4-10
结帖率:0
收藏
已结贴  问题点数:20 回复次数:5 
汇编中的获取系统时间
dymamictime proc
    s: db 9,8,7,4,2,0
     s1: db '/','/',' ',':',':',' '
start22: mov cx,6
         mov bx,offset s
         mov si,offset s1
         mov di,0
start1: push cx         
         mov al,cs:[bx]        
         mov dl,cs:[si]
         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 bp,0b800h
         mov es,bp
         mov byte ptr es:[1980+di],ah
         mov byte ptr es:[1982+di],al
         mov byte ptr es:[1984+di],dl
         inc bx
         inc si
         add di,6
         pop cx
         loop start1


in al,60h

cmp al,10h ;Q键的扫描码

je quit

jmp start22

           ;以上4句为动态获取系统时间的关键

quit:   mov ax,4c00h

        int 21h
ret
 dymamictime endp 哪位能帮忙解释下这个子程序呢?有些地方看不懂
搜索更多相关主题的帖子: 时间 
2011-04-10 17:16
zaixuexi
Rank: 12Rank: 12Rank: 12
来 自:上海
等 级:火箭侠
威 望:8
帖 子:858
专家分:3233
注 册:2010-12-1
收藏
得分:5 
程序代码:
;CMOS RAM芯片
;该芯片内部有两个端口,端口地址为70h和71h
;CPU通过这两个端口来读写CMOS RAM
;70h为地址端口,存放要访问的CMOS RAM单元的地址
;71h为数据端口,存放从选定的CMOS RAM单元中读取的数据
;---------------------------------------------------
; YEAR    MONTH    DATE    HOUR    MINUTE    SECOND
;  9      8      7       4        2       0
;---------------------------------------------------
    .model tiny
    .code
    main proc far
start:
    xor ax,ax
    push ds
    push ax
    call dynamictime
    ret
    main endp
    dynamictime proc
    jmp short start22
s:
    db 9,8,7,4,2,0
s1:
    db '/','/',' ',':',':',' '
start22:
    mov cx,6                    ;CX=6
    mov bx,offset s             ;BX指向s,  s为70端口每次所需要的入口参数的首地址
    mov si,offset s1            ;SI指向s1, s1为显示格式
    mov di,0                    ;显示下标DI = 0
start1:
    push cx                     ;保存次数
    mov al,cs:[bx]              ;取当前需要的70端口的入口参数
    mov dl,cs:[si]              ;取当前需要的显示格式
    out 70h,al                  ;al->PORT 70,指示71端口要取的数据
    in al,71h                   ;PORT 71->al
    mov ah,al
    mov cl,4
    shr ah,cl
    and al,00001111b
    add ah,30h
    add al,30h                  ;数字转ASCII
    mov bp,0b800h
    mov es,bp
    mov byte ptr es:[1980+di],ah
    mov byte ptr es:[1982+di],al
    mov byte ptr es:[1984+di],dl;送B800显示
    inc bx
    inc si                      ;2个缓冲区指针分别加1,指向后一个内存单元
    add di,6                    ;每次显示3个字符,加上属性=>3*2
    pop cx                      ;恢复当前计数
    loop start1                 ;CX-1!=0,循环到start1
    in al,60h                   ;读键盘
    cmp al,10h                  ;Q键的扫描码
    je quit                     ;Q键退出
    jmp start22                 ;跳转到start22
quit:
    ret                         ;返回
    dynamictime endp
    end start
好难对齐啊~~~~~~文字

技术问题,请不要以短消息方式提问
2011-04-10 18:45
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:5 

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-04-10 23:49
xiaomarn
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:5
帖 子:348
专家分:2026
注 册:2009-3-18
收藏
得分:5 
int 2ch
2011-04-15 11:26
Mastkey
Rank: 1
等 级:新手上路
帖 子:2
专家分:5
注 册:2011-4-14
收藏
得分:5 
来瞧瞧。。
2011-04-16 13:08
zaixuexi
Rank: 12Rank: 12Rank: 12
来 自:上海
等 级:火箭侠
威 望:8
帖 子:858
专家分:3233
注 册:2010-12-1
收藏
得分:0 
回复 5楼 Mastkey
有发现新大陆?

技术问题,请不要以短消息方式提问
2011-04-16 13:26
快速回复:汇编中的获取系统时间
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.049493 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved