《汇编语言》王爽 第三版 实验14

程序功能:以“年/月/日 时:分:秒” 的格式,显示当前的日期,时间

代码如下:

assume cs:code 

code segment
s: db 9,'/',8,'/',7,' ',4,':',2,':',0,'$'	;将日期和时间在CMOS中储存的位置以及要显示的符号列出

start:	
    mov ax,cs
	mov ds,ax
	mov si,offset s
	mov di,160*12+40*2	;设置日期和时间出现的位置

	read:	
        cmp byte ptr ds:[si],'$'
		je exit
		cmp byte ptr ds:[si],'/'
		je do
		cmp byte ptr ds:[si],' '
		je do
		cmp byte ptr ds:[si],':'	
		je do				;条件判断以及相关跳转
		mov al,ds:[si]
		out 70h,al
		in al,71h


	change:	
		mov ah,al
		mov cl,4
		shr ah,cl
		and al,00001111b

		add ah,30h
		add al,30h
		call show_date	
		add di,4
		inc si
		jmp short read

	do:	
        call show_symbol
		add di,2
		inc si
		jmp short read

exit:	mov ax,4c00h
	    int 21h


show_date:		;显示日期和时间的子程序
	    push bx
	    push es
	    push di

	    mov bx,0b800h
	    mov es,bx
	    mov byte ptr es:[di],ah
	    mov byte ptr es:[di+1],00000010b
	    mov byte ptr es:[di+2],al
	    mov byte ptr es:[di+3],00000010b

	    pop di
	    pop es
	    pop bx
	    ret

show_symbol:		;显示符号的子程序
	    push ax
	    push es

	    mov ax,0b800h
	    mov es,ax
	    mov al,ds:[si]
	    mov ah,00000010b
	    mov byte ptr es:[di],al
	    mov byte ptr es:[di+1],ah

	    pop es
	    pop ax
	    ret

code ends
end start

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值