显示系统当前时间的汇编程序

本文介绍了一个使用汇编语言从CMOS RAM中读取系统时间并显示的程序实例。通过向70H端口发送地址并从71H端口读取数据的方式,该程序能够获取当前的时间信息,并将其格式化为人类可读的形式输出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

assume cs:code

data segment

time db 'yy/mm/dd hh:mm:ss$';int 21h 显示字符串,要求以$结束

table db 9,8,7,4,2,0 ;各时间量的存放单元

data ends

code segment

start:

mov ax,data

mov ds,ax

mov si,offset table

mov di,offset time

mov cx,6

s:

push cx

mov al,ds:[si];读端口内单元号

out 70h,al;单元号送入70h端口

in al,71h;从71端口读取单元号对应地址的数据

mov ah,al

mov cl,4

shr ah,cl;将压缩BCD码分为两个BCD码

and al,00001111b

add ah,30h

add al,30h

mov ds:[di],ah

mov ds:[di+1],al;写进time

inc si

add di,3

pop cx

loop s

mov dx,offset time

mov ah,9

int 21h

code ends

end start

功能是显示当前系统的时间,主要是cmos RAM端口知识应用,时间依照年,月,日,时,分,秒顺序存在单元9、8、7、4、2、0单元。

详见王爽汇编第十四章端口

注:非原创!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值