汇编语言 第14章实验

assume cs:codesg
codesg segment
;CMOS RAM 中 时间信息的存放单元为 秒:0  分:2 日:7  月:8  年:9
start:
		mov ax,0b800h
		mov es,ax
		mov si,160*12
;***********************年份的读取**********************************************		
		mov al,9					;读取年份信息
		out 70h,al					;将9号单元放入70h端口  写入用out
		in al,71h					;从71h端口 中读取年份信息  只存放了19年  用al接受
		
		mov ah,al		
		mov cl,4
		shr ah,cl
		add ah,30h					;转化位十进制数字
		mov es:[si+0],ah			;显示年份的最高位
		mov byte ptr es:[si+1],2	;显示的数字颜色
				
		and al,00001111b
		add al,30h
		mov es:[si+2],al
		mov byte ptr es:[si+3],2
		
		mov byte ptr es:[si+4],47	;年份分隔符 /
		mov byte ptr es:[si+5],2	
;***********************月份的读取**********************************************			
		mov al,8					;读取月份信息
		out 70h,al				
		in al,71h				
		
		mov ah,al		
		mov cl,4
		shr ah,cl
		add ah,30h					;转化位十进制数字
		mov es:[si+6],ah			;显示年份的最高位
		mov byte ptr es:[si+7],2	;显示的数字颜色
				
		and al,00001111b
		add al,30h
		mov es:[si+8],al
		mov byte ptr es:[si+9],2
		
		mov byte ptr es:[si+10],47	;月分隔符 /
		mov byte ptr es:[si+11],2			
;***********************日的读取**********************************************			
		mov al,7					;读取日的信息
		out 70h,al				
		in al,71h				
		
		mov ah,al		
		mov cl,4
		shr ah,cl
		add ah,30h					;转化位十进制数字
		mov es:[si+12],ah			;显示年份的最高位
		mov byte ptr es:[si+13],2	;显示的数字颜色
				
		and al,00001111b
		add al,30h
		mov es:[si+14],al
		mov byte ptr es:[si+15],2
		
		mov byte ptr es:[si+16],32	;空格字符
		mov byte ptr es:[si+17],0			
;***********************时的读取**********************************************			
		mov al,4					
		out 70h,al				
		in al,71h				
		
		mov ah,al		
		mov cl,4
		shr ah,cl
		add ah,30h					;转化位十进制数字
		mov es:[si+18],ah			;显示年份的最高位
		mov byte ptr es:[si+19],2	;显示的数字颜色
				
		and al,00001111b
		add al,30h
		mov es:[si+20],al
		mov byte ptr es:[si+21],2
		
		mov byte ptr es:[si+22],58	; : 字符
		mov byte ptr es:[si+23],2	


;***********************分的读取**********************************************			
		mov al,2					
		out 70h,al				
		in al,71h				
		
		mov ah,al		
		mov cl,4
		shr ah,cl
		add ah,30h					;转化位十进制数字
		mov es:[si+24],ah			;显示年份的最高位
		mov byte ptr es:[si+25],2	;显示的数字颜色
				
		and al,00001111b
		add al,30h
		mov es:[si+26],al
		mov byte ptr es:[si+27],2
		
		mov byte ptr es:[si+28],58	;空格字符
		mov byte ptr es:[si+29],2	


;***********************秒的读取**********************************************			
		mov al,0					
		out 70h,al				
		in al,71h				
		
		mov ah,al		
		mov cl,4
		shr ah,cl
		add ah,30h					;转化位十进制数字
		mov es:[si+30],ah			;显示年份的最高位
		mov byte ptr es:[si+31],2	;显示的数字颜色
				
		and al,00001111b
		add al,30h
		mov es:[si+32],al
		mov byte ptr es:[si+33],2
	
		mov ax,4c00h
		int 21h
codesg ends
end start

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值