(1)包含一個實時時鐘和一個128個存儲單元的RAM存儲器
(2)靠電池供電
(3)128個字節的RAM中,內部時鐘始終占用0~0dh,其余單元用來保存系統配置信息,供系統啟動時BIOS程序讀寫
(4)兩個端口,70h為地址端口,存放要訪問CMOS RAM單元的地址,71H為數據端口,從CMOS讀寫數據
(5)額外 shl 左移指令 shr 右移指令, 最后移出的一為寫入CF中,移動位數大于1,則必須放入cl中
(6)昨天寫的讀取CMOS時間的程序。寫出來大家指點
assume cs:code,ds:data
data segment
db 9,8,7,4,2,0
db '// :: '
data ends
code segment
start:
mov ax,data
mov ds,ax
mov si,0
mov di,0
mov cx,6
s:
push cx
mov al,ds:[si]
out 70h,al
in al,71h
mov ah,al
mov cl,4
shr ah,cl
and al,00001111b
add ah,30h
add al,30h
mov dl,71h
mov bx,0b800h
mov es,bx
mov byte ptr es:[di].[160*12+40*2],ah
mov byte ptr es:[di].[160*12+40*2+1],dl
add di,2
mov byte ptr es:[di].[160*12+40*2],al
mov byte ptr es:[di].[160*12+40*2+1],dl
;inc si
add di,2
mov al,ds:[si].[6]
mov byte ptr es:[di].[160*12+40*2],al
mov byte ptr es:[di].[160*12+40*2+1],dl
add di,2
inc si
pop cx
loop s
mov ax,4c00h
int 21h
code ends
end start
posted on 2007-06-17 16:27
merlinfang 閱讀(1174)
評論(1) 編輯 收藏 引用 所屬分類:
匯編語言