汇编语言学习(王爽-8086)
实验14:访问CMOS RAM
- 实验要求
- 实现效果
- 代码
assume cs:code,ds:data,ss:stack
;--------------------------------------------------
stack segment
dw 16 dup (0)
stack ends
;--------------------------------------------------
data segment
db 'YY/MM/DD hh:mm:ss','$'
data ends
;--------------------------------------------------
code segment
start:
mov ax,data
mov ds,ax
mov ax,stack
mov ss,ax
mov sp,32
;/*Year*/
mov al,9
call getTime
mov ds:[0],ah
mov ds:[1],al
;/*Month*/
mov al,8
call getTime
mov ds:[3],ah
mov ds:[4],al
;/*Day*/
mov al,7
call getTime
mov ds:[6],ah
mov ds:[7],al
;/*Hour*/
mov al,4
call getTime
mov ds:[9],ah
mov ds:[10],al
;/*Minute*/
mov al,2
call getTime
mov ds:[12],ah
mov ds:[13],al
;/*Second*/
mov al,0
call getTime
mov ds:[15],ah
mov ds:[16],al
;/*Show Time Now*/
call showData
mov ax,4c00h
int 21h
;********** FUNCTION **********
getTime:
push cx
push ax
out 70h,al
in al,71h
mov ah,al
mov cl,4
shr ah,cl
and al,00001111b
add ah,30h
add al,30h
pop cx
pop cx
ret
;********** FUNCTION **********
showData:
push ax
push bx
push dx
push ds
mov ah,2
mov bh,0
mov dh,5
mov dl,20
int 10h
mov ax,data
mov ds,ax
mov dx,0
mov ah,9
int 21h
pop ds
pop dx
pop bx
pop ax
ret
code ends
;--------------------------------------------------
end start