循环读取系统日期时间

icesnowjank 2004-08-22 06:01:44
assume cs:code
code segment
in al,60h
mov ah,0
int 16h
cmp al,04h
je clock
clock:mov al,9
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 bx,0b800h
mov es,bx
mov byte ptr es:[160*12+40*2],ah
mov byte ptr es:[160*12+40*2+2],al
mov byte ptr es:[160*12+40*2+2+2],'/'
mov al,8
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 bx,0b800h
mov es,bx
mov byte ptr es:[160*12+40*2+2+2],ah
mov byte ptr es:[160*12+40*2+2+2+2],al
mov byte ptr es:[160*12+40*2+2+2+2+2],'/'
mov al,7
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 bx,0b800h
mov es,bx
mov byte ptr es:[160*12+40*2+2+2+2+2+2],ah
mov byte ptr es:[160*12+40*2+2+2+2+2+2+2],al
mov al,4
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 bx,0b800h
mov es,bx
mov byte ptr es:[160*12+40*2+2+2+2+2+2+2+2],ah
mov byte ptr es:[160*12+40*2+2+2+2+2+2+2+2+2],al
mov byte ptr es:[160*12+40*2+2+2+2+2+2+2+2+2+2],':'
mov al,2
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 bx,0b800h
mov es,bx
mov byte ptr es:[160*12+40*2+2+2+2+2+2+2+2+2+2+2],ah
mov byte ptr es:[160*12+40*2+2+2+2+2+2+2+2+2+2+2+2],al
mov byte ptr es:[160*12+40*2+2+2+2+2+2+2+2+2+2+2+2+2],':'
mov al,0
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 bx,0b800h
mov es,bx
mov byte ptr es:[160*12+40*2+2+2+2+2+2+2+2+2+2+2+2+2+2],ah
mov byte ptr es:[160*12+40*2+2+2+2+2+2+2+2+2+2+2+2+2+2+2],al
jmp clock
code ends
end start


大家帮我看看还有什么问题没
谢了
...全文
71 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
commars 2004-08-26
  • 打赏
  • 举报
回复
UP!
dunkel 2004-08-22
  • 打赏
  • 举报
回复
1. 不明白 CLOCK: 之前的几句有什么作用?
2. 最后的 end start 没有 start: 定义
3. 在显示时间的循环里, 没有一个终止这个循环的方法, 这一般是不合理的. 通常的做法是在循环里检测是不是按下了一个特定的键 (比如是 <Esc>) 来作为退出的手段
4. 在显示每个信息之前, 不需要再次重新设置 es的, 因为开始设置了 es 之后, 你的程序没有再改动过 es 的值. 其实, 可以把对 es 的设置放到循环圈的外面
5. '月' 的显示位置开始不对, 覆盖了 '年' 和 '月' 间的分隔符号 '/'
6. 最好在 '时间' 和 '日期' 之间再加个空格分开来, 这样看起来比较合理

21,453

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧