• 8086汇编 显示时间 --- 王爽 《汇编语言》实验14


    ; 在某行显示日期,时间
    ; 代码里面我写死成12行了
    
    assume cs:code
    
    code segment
    cmos_arr:
        db 9, 8, 7, 4, 2, 0
    char_arr:
        ; 这个第一个' ' 空格其实是一个占位置用的
        db ' ', '/', '/', ' ', ':', ':'
    start: 
     
        mov cx, 6       ;  总共有 年月日 时分秒 六个时间信息
        mov si, 0       ;  当前访问的数组的下标
        mov dx, 12      ;  存放列的位置
    s:  cmp si, 0
        je jump ; 如果是第一次循环的话, 跳过打印符号
        ; 打印符号
        mov ax, cs
        mov ds, ax
        mov bx, offset char_arr
        mov al, [bx+si]
        mov bx, 0b800h
        mov es, bx
        mov bx, dx
        shl bx, 1
        mov byte ptr es:[160*12+bx], al
        inc dx          ; 列号往后面移一个格子
    
    jump:
        ; 获取cmos里面的时间信息
        mov ax, cs
        mov ds, ax
        mov bx, offset cmos_arr
        mov al, [bx+si]
        out 70h, al
        in al, 71h        ; 读取
        
        mov bx, cx        ; 备份一下 cx
        mov ah, al
        and al, 00001111b
        mov cl, 4
        shr ah, cl
        mov cx, bx        ; 恢复 cx
        
        add al, 30h       ; 时间的个位
        add ah, 30h       ; 时间的十位
        
        ; 打印时间信息
        mov bx, 0b800h
        mov es, bx
        mov bx, dx
        shl bx, 1
        mov byte ptr es:[160*12+bx], ah
        mov byte ptr es:[160*12+2+bx], al
        add dx, 2       ; 列号往后面移两个格子
        
        inc si
        loop s
        mov ax, 4c00h
        int 21h
    
    code ends
    
    end start
    
  • 相关阅读:
    梦幻如初,心不忘。
    整数集和求并
    ACTF 2014 Write up
    适用web的图片
    jqGrid
    angularjs
    【转载】FPGA异步时钟设计中的同步策略
    Cordic的学习之硬件实现
    Cordic的学习初步
    DDS---三角函数发生器的用法
  • 原文地址:https://www.cnblogs.com/Blithe-Chiang/p/13596899.html
Copyright © 2020-2023  润新知