欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

汇编语言 第14章实验

程序员文章站 2022-06-07 08:48:49
...
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

汇编语言 第14章实验

相关标签: 汇编语言 实验