实验14
来源:互联网 发布:服务器 linux 编辑:程序博客网 时间:2024/05/16 13:57
编程,以“年/月/日 时:分:秒”的格式,显示从cmos ram中读取的时间:
assume cs:code , ds:data
data segment
db 32 dup(0) //开辟32个字节的空间来存放最终要显示的字符串,实际用到了17字节。初始化为0
data ends
code segment
start:
mov ax , data
mov ds , ax
mov bx , 0
mov al , 9
call getdata //获取年
call adddata //将年数据写入内存字符串
call showx //将‘/’字符写入内存字符串
mov al , 8
call getdata //获取月
call adddata
call showx
mov al , 7
call getdata //获取日
call adddata
call showk //写入空格
mov al , 4
call getdata //获取时
call adddata
call showm //写入冒号
mov al , 2
call getdata //获取分
call adddata
call showm
mov al , 0
call getdata //获取秒
call adddata
call showtime //在屏幕上显示字符串
mov ax , 4c00h
int 21h
adddata: //将cmos中获取的字符(两个字节)写到内存字符串的函数
mov [bx] , ah
inc bx
mov [bx] , al
inc bx
ret
showx: //写'/’'的函数
mov byte ptr [bx] , 47
inc bx
ret
showm: //写':‘'的函数
mov byte ptr [bx] , 58
inc bx
ret
showk: //写' ‘'的函数
mov byte ptr [bx] , 32
inc bx
ret
getdata: //从cmos ram中读取一个字节,并提取出对于的十位数和个位数,分别放入ah,al
push cx
out 70h , al
in al , 71h
mov ah , al
mov cl , 4
shr ah , cl
and al , 00001111b
add ah , 30h
add al , 30h
pop cx
ret
showtime: //显示字符串的函数
push ax
push ds
push bx
push es
push si
mov ax , data
mov ds , ax
mov bx , 0
mov ax , 0b800h
mov es , ax
mov si , 160*12+30*2
realshow:
cmp byte ptr [bx] , 0
je showover
mov al , [bx]
mov es:[si] , al
inc bx
inc si
mov byte ptr es:[si] , 2
inc si
jmp short realshow
showover:
pop si
pop es
pop bx
pop ds
pop ax
ret
code ends
end start
- 实验14
- 实验14
- 第十四章实验14
- 王爽 实验14
- 实验报告 14-1
- 14、DAC实验
- 王爽 汇编 实验14
- Java实验(14) MyRational
- 14-TSS切换实验
- C++实验14
- 汇编语言 实验14
- 实验
- 实验
- 实验
- 实验
- 实验
- 实验
- 实验
- Google Java编程风格指南
- 康拓展开(hash算法中会用到)
- Spring事务配置的五种方式
- eclipse中如何打开工作空间里面已经有的项目
- tomcat、weblogic上不用项目名,直接通过ip+端口访问。
- 实验14
- 字符设备驱动
- 屏蔽浏览器左下角的js错误提示
- SGU113 水题 Easy Problem
- 对View绑定监听事件的4种写法
- 域名DNS和IP地址查询
- 今年来全国已确诊102例人感染H7N9 20例死亡
- 对话框的按键处理 PreTranslateMessage、OnKeyDown和OnChar
- RSA 非对称加密