王爽《汇编语言》第十四章实验14

这个实验比较简单,书中给出的例子是直接把CMOS中读出的值复制到显存中,不过我没有这么做,我是将从CMOS中读出的数据放到数据段中,然后调用dos的中断函数直接显示字符串,下面是代码。

王爽《汇编语言》第十四章实验14 - gc_2299 - gc_2299的博客

assume cs:code

data segment
        db 9,8,7,4,2,0 ;存放顺序读取的CMOS端口
        db '00/00/00 00:00:00','$'       ;存放预先设置的时间字符串格式
data ends

stack segment
        db 32 dup (0)
stack ends

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

   

        mov ax,stack
        mov ss,ax
        mov sp,10h



        mov bx,6
        mov si,0

        mov cx,6


    s:  call parse
        inc si
        add bx,3
        loop s



; 设置光标位置

        mov ah,2
        mov bh,0
        mov dh,5
        mov dl,0
        int 10h



;显示字符串

        mov dx,6
        mov ah,9
        int 21h

        mov ax,4c00h
        int 21h



;这个函数是解析CMOS中读出的数据,是书中的示例

 parse: mov al,[si]
        out 70h,al
        in al,71h
        push cx

        mov cl,4
        mov ah,al
        and ah,00001111b
        and al,11110000b
        shr al,cl

        add ah,30h
        add al,30h

        mov [bx],ax
        pop cx
        ret
code ends

end start

 

下面是程序运行后的结果图:

 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值