求一个8086汇编语言写的时钟源程序

bichongjunb 2008-12-28 12:06:28
求高手帮忙些一个8086汇编的时钟程序,可以正常显示时分秒和日期,如果用芯片可用8253,8255.8259等,急用,谢谢
...全文
231 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ufofind 2009-02-21
  • 打赏
  • 举报
回复
assume cs:code
code segment
time:out 70h,al
in al,71h
mov bl,al
mov cl,4
shr bl,cl
shl al,cl
shr al,cl
add bl,30h
add al,30h
mov es:[di],bl
mov es:[di+2],al
ret
start:mov ax,0b800h
mov es,ax
mov di,160*23
mov al,4
call time
mov byte ptr es:[di+4],':'
mov al,2
mov di,160*23+6
call time
mov byte ptr es:[di+4],':'
mov al,0
mov di,160*23+12
call time
mov cx,0
jcxz start
mov ax,4c00h
int 21h
code ends
end start
itxuuitdgdipwa 2009-01-01
  • 打赏
  • 举报
回复
assume cs:code
code segment
start:
;清屏
mov ah,6 ;
mov al,0 ;
mov ch,0
mov cl,0 ;
mov dh,24
mov dl,79
mov bh,7
int 10h
l:
;年
mov al,9
mov si,0
call s

mov byte ptr es:[160*12+2*40+4],'/'

;月
mov al,8
mov si,6
call s

mov byte ptr es:[160*12+2*40+10],'/'

;日
mov al,7
mov si,12
call s

mov byte ptr es:[160*12+2*40+16],' '

;取时数并送入显存
mov al,4
mov si,18
call s

mov byte ptr es:[160*12+2*40+22],':'

;取分数并送入显存
mov al,2
mov si,24
call s

mov byte ptr es:[160*12+2*40+28],':'

;取秒数并送入显存
mov al,0
mov si,30
call s
jmp l

mov ax,4c00h
int 21h

;*******************子程序******************
;名称:s
;作用:取出BCD码并送入显存
;入参:al为单元数,si为显存偏移地址变址
;*******************************************
s: push ax
push bx
push si

out 70h,al
in al,71h
mov cl,4
mov ah,al
shr ah,cl
and al,00001111b
add al,30h
add ah,30h

mov bx,0b800h
mov es,bx
mov bx,160*12+2*40
mov es:[bx+si],ah
mov es:[bx+si+2],al

pop si
pop bx
pop ax
ret

code ends
end start
「已注销」 2009-01-01
  • 打赏
  • 举报
回复
用C好做。

21,500

社区成员

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

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