kane080824 发表于 2011-11-24 22:45:53

完成实验14推出,共同交流学习!

本帖最后由 kane080824 于 2011-11-24 22:52 编辑

http://bbs.fishc.com/data/attachment/album/201111/24/220950i8p8puceru3o3r8e.jpg
程序运行截图
程序源代码:
assumecs:code,ds:data,ss:var
datasegment
db '--/--/-- --:--:--','$'      ; 设置日期时间格式
dataends
var   segment
dw 8 dup(0)
var   ends
codesegment
   start:   mov ax,data
                mov ds,ax
                mov ax,var
                mov ss,ax
                mov sp,16
                mov bx,15      ; 数据段日期时间指针
   
               mov dl,0          ; cmos日期时间指针
      s:      mov al,dl
               calldt_ascii    ; 日期时间转换成十进制数值子程序
               add dl,2
               cmp dl,6
               je    h
               jmps             ; 以上处理时间   
            
   h:      inc dl
            mov al,dl
            calldt_ascii
            cmp dl,9
            jeok
            jmph             ; 以上处理日期
   
    ok:    call show          ; 日期时间显示子程序   
            mov ax,4c00h
            int 21h
   
   dt_ascii:
            out 70h,al
            inal,71h         ; 读取cmos日期时间数据
            mov ah,al
            mov cl,4
            shr ah,cl
            and al,00001111b
            add ah,30h
            add al,30h                        ;将cmos BCD码转换成十进制数值
   
            mov byte ptr ,ah         
            mov byte ptr ,al    ;写入数据段字符串处以供中断处理程序显示
            sub bx,3
            ret
show:mov ah,2                         ;调用中断10h2号功能子程序
            mov bh,0
            mov dh,12
            mov dl,31                         ; 设置日期时间的显示位置
            int 10h
   
            mov dx,0                         ; 调用中断21h9号功能子程序,显示日期时间字符串
            mov ah,9
            int 21h
            ret    
   code ends      
      endstart   
      

z310394543 发表于 2011-11-25 10:08:01

kane080824 发表于 2011-11-25 10:45:18

晕啊,现学现卖啊,我刚学完端口,int 10H int 21H 小甲鱼哥哥视频里有讲的啊,你没仔细听吧;P;P

z310394543 发表于 2011-11-25 10:55:11

页: [1]
查看完整版本: 完成实验14推出,共同交流学习!