注册 登录
编程论坛 汇编论坛

王爽汇编 14----------访问 CMOS RAM

Explorerlxz 发布于 2014-06-09 23:50, 1326 次点击
先总结一下14章的新知识,CMOS RAM端口地址为70h和71h!其中70h为地址端口,存放要访问的CMOS RAM单元的地址;71h为数据端口,存放要读取或写入的内容
读取CMOS RAM的2号单元的内容
mov al,2;要访问的CMOS RAM单元的地址
out 70h,al;将地址输出到端口70h
in al,71h;从端口71h读取端口中的数据(这里是2号内存单元中的内容)
==============================================================
向CMOS RAM的2号单元写入0
mov al,2;
out 70h,al;
mov al,0;
out 71h,al;向内存单元中写入数据(这里是0)
1 回复
#2
Explorerlxz2014-06-10 00:01
实验14 访问CMOS RAM
编程,以“年/月/日 时:分:秒”的格式,显示当前的日期,时间。
只有本站会员才能查看附件,请 登录
程序代码:
assume cs:code
data segment
    db '??/??/?? ??:??:??'
    db 9,8,7,4,2,0
data ends

code segment
start:
    mov ax,data
    mov ds,ax

    mov si,0
    mov bx,17
    mov cx,6

s:   
    push cx
    mov al,[bx]
    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 [si],ah
    mov [si+1],al
    add si,3
    inc bx
    pop cx
    loop s

    mov si,0
    mov ax,0b800h
    mov es,ax
    mov di,160*12+35*2
    mov cx,17
   
s0:
    mov al,[si]
    mov es:[di],al
    mov byte ptr es:[di+1],02
    add di,2
    inc si
    loop s0

    mov ax,4c00h
    int 21h
code ends
end start
1