完成实验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
晕啊,现学现卖啊,我刚学完端口,int 10H int 21H 小甲鱼哥哥视频里有讲的啊,你没仔细听吧;P;P
页:
[1]