• 实验十四_访问CMOS RAM


    编程:以“年/月/日 时:分:秒”的格式,显示当前的日期,时间。
    注意:CMOS RAM中存储着系统的配置信息,除了保存时间信息的单元外,不要向其他的单元写入内容,否则将引起一些系统错误。
    assume cs:code,ds:data 
    data segment 
      db '00/00/00/ 00:00:00','$' 
    data ends 
    code segment 
      index_cmostime:db 9,8,7,4,2,0;存储cmos ram中存放时间信息的单元编号。 
      index_datatime:db 0,3,6,10,13,16;data数据段中每个时间信息的偏移地址编号。 
    start:         
            mov ax,data 
            mov ds,ax 
             
            mov di,offset index_cmostime 
            mov bx,offset index_datatime 
             
            mov cx,6 
    s:      push cx 
            mov al,cs:[di] 
             
            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 cl,cs:[bx] 
            mov ch,0 
            mov bp,cx 
            mov ds:[bp],ah 
            mov ds:[bp+1],al 
             
            inc di 
            inc bx 
            pop cx 
            loop s 
             
            mov ah,2        ;置光标 
            mov bh,0        ;第0页 
            mov dh,13        ;dh中放行号 
            mov dl,30        ;dl中放列号 
            int 10h 
             
            mov ax,data 
            mov ds,ax 
            mov dx,0        ;设置ds:dx指向字符串的首地址 
            mov ah,9 
            int 21h 
             
            mov ax,4c00h 
            int 21h 
    code ends 
    end start 
    思路:数据段:
            步骤1、定义数据段,用途:将从端口读出的数据转化为字符存储在数据段
          代码段:
            步骤1、定义数据,将要访问的内存单元编号存入(为防止重复性操作,思路类似于实验十三的英文诗)
                   2、从端口读出相应的数据(以BCD码的方式存放)
                   3、数据转化为ascii值存入数据段
                   4、调用BIOS、DOS中断例程显示字符(当然也可以自己编写函数实现)
  • 相关阅读:
    nginx正则配置解释和fastadmin
    Centos7中systemctl命令详解
    layer的iframe层的传参和回参
    centOS下jenkins
    centos下nginx安装和配置
    python文件目录练习题【一】
    python正则模块re使用案例
    python字符串常用方法
    Swoole的多进程模块
    swoole学习
  • 原文地址:https://www.cnblogs.com/xpjiang/p/4524430.html
Copyright © 2020-2023  润新知