您的位置:程序门 -> 其他开发语言 -> 汇编语言



汇编-修改系统时间-字符串时间转十六进制


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


汇编-修改系统时间-字符串时间转十六进制
发表于:2007-12-05 01:34:41 楼主
最近在做汇编的课程设计
遇到问题:修改系统时间的程序中
当输入更改的时间例如12:23:34时
如何在系统中中将相应的字符串转为十六进制,
以便运用中断修改时间。
发表于:2007-12-05 02:27:291楼 得分:0

两位十进制数转换的算法:
1.输入一个字符
2.减30h
3.乘以10
4.输入另一字符
5.减30h
6.与前一位乘10后的结果相加。

如果是用2dh号dos系统功能调用去设置系统时间,将时:分:秒分别处理,值送入相应的寄存器,然后执行系统功能调用即可。

发表于:2007-12-05 14:55:432楼 得分:0
系统时间是存放在cmos   ram中的,并且这些数据的存放形式为bcd码。
所以楼主不应该把输入的字符串转化为16进制,而应该把相应的位转化为bcd码的形式。
12---〉00010010
23---〉00100011
34---〉00110100
转换完成后,只需通过读写70h和71h端口把转换后得到的数据写入cmos   ram存放时间的位置即可。  
详情请参看王爽《汇编语言》p256
                                                                                         
                                                                                                          ---汇编语言学习支持网---   www.asmedu.net


快速检索

最新资讯
热门点击