assume cs:code
code segment
buf: db "xx/xx/xx xx:xx:xx$" ;用于存放获得的信息
address:db 9,8,7,4,2,0 ;时间信息在CMOS RAM中的地址
start:
mov ax,cs
mov ds,ax
mov di,0
mov si,offset address
mov cx,6
s: push cx ;取得时间信息,并处理BCD码
mov al,[si]
out 70h,al
in al,71h
mov ah,al
mov cl,4
shr ah,cl
and al,0fh
add ah,30h
add al,30h
mov [di],ah
mov [di+1],al
inc si
add di,3
pop cx
loop s
mov dx,0 ;使用dos中断9好功能显示时间信息
mov ah,9
int 21h
mov ax,4c00h
int 21h
code ends
end start
- [游客] 加油加油!! 02/21 10:24
- [crazyman] 忒快,忒快。 01/18 17:34
- [squaaa] 你用了12天?! 这么短的时间。能交流一下吗。QQ 1511777 我学过一学期,假期打算学王老师 01/17 11:46
- [abcrazy] 嘿嘿! 曾经学过汇编!另外本人时间充裕! 01/15 20:17
- [musicvs] 12天@.@...好快 01/15 08:49
- [游客] 额 我使用COMMAND.COM也不行。只要一修改非7CH中断,MSDOS就报错。 01/13 22:48
- [wsrf] 博主第一小题分析的很对,最大只能是FFFFH了,再大65536就不行了。我的分析还是除了点问题,呵呵 01/13 17:32
- [wsrf] 如果用户象7ch中断那样修改,等到机器重启后,修改就会失效,会对中断向量表重新进行初始化。 01/13 16:54
- [lwbfq] 正确。 01/13 16:13
- [lwbfq] 第二小题还需要再思考思考。 01/13 15:35