- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
访问CMOS RAM汇编实验报告_昆明理工大学
昆明理工大学信息工程与自动化学院学生实验报告
( 2012 —2013 学年 第 一 学期 )
课程名称:汇编与微机接口实验 开课实验室:信自楼444 2012 年 11 月 22 日
年级 计科2010级 学号 姓名 成绩 实验项目名称 实验四 访问CMOS RAM 指导教师 李英娜 教师评语
教师签名:
年 月 日
一、实验目的:
1、熟悉并且掌握汇编语言端口读写的指令和常用端口;
2、熟练地掌握循环与分支程序的设计过程,进行BCD码到字符的转换;
3、掌握汇编指令:SHR、AND、OR;
4、运用INT 10H指令进行屏幕格式定义。
5、熟悉并且掌握屏幕特殊格式输出。
二、实验要求:
编写一个程序,以年/月/日/时-分-秒的格式在屏幕上显示系统时间,要求从屏幕的12行位置开始显示三行,从每行的24列开始显示。
三、实验环境
汇编程序:MASM 6.15,链接程序:LINK.EXE,调试环境:DEBUG.EXE,对操作系统和计算机五特殊要求,如果是WIN7以上操作系统,需要安装DOSBOX虚拟平台。
四、实验内容(算法及运行结果的截图)
assume cs:code
code segment
start:
mov bx,0b800h
mov es,bx
mov di,80*2*10+24*2 ;
mov cx,3;循环三次,输出三行
a: add di,80*2;此处为第12行第24列。
push di
mov al,10 ;为了有规律可循,初始al的值为10(十进制)
rdate: ;读取日期
dec al
cmp al,7
jb rtime ;当读完‘日’后,就跳至标号rtime处
call show
add di,6
jmp short rdate
rtime: ;读取时间
sub al,2
cmp al,0feh ;为无符号数相减
je sign ;当读完‘秒’后,就跳至标号sign处
call show
add di,6
jmp short rtime
sign: ;显示相关符号
pop di
add di,4 ;定位第一个/符号在显存的偏移地址
mov byte ptr es:[di],/
mov byte ptr es:[di+1],09h;定义输出格式
add di,6
mov byte ptr es:[di],/
mov byte ptr es:[di+1],09h;定义输出格式
add di,12 ;跳过日期与时间之间的空格
mov byte ptr es:[di],-
mov byte ptr es:[di+1],09h;定义输出格式
add di,6
mov byte ptr es:[di],-
mov byte ptr es:[di+1],09h;定义输出格式
sub di,28;减去日期和时间所占字符
loop a;循环三次,显示三行
in al,60h
cmp al,10h ;Q键的扫描码
je quit
jmp start
;以上4句为动态获取系统时间的关键
quit: mov ax,4c00h
int 21h
show: push ax
push cx
out 70h,al
in al,71h
mov ah,al
mov cl,4
shr ah,cl
and al
add ah,30h
add al,30h
mov byte ptr es:[di],ah
mov byte ptr es: [di+1],09H
mov byte ptr es:[di+2],al
mov byte ptr es: [di+3],09H
pop cx
pop ax
ret
code ends
end start
运行结果截图:
六、实验总结
此次实验让我对接口的读写以及in,out 命令的使用有了实际的体会,同时也了解了cmos的相关知识,并亲自动手对cmos Ram 中的时间数据进行了读取操作,由于题目要求要输出三行显示,所以通过调试也对显存中的字符存储方式细节有了巩固,也对子程序调用等知识也有了回顾,是一次较为综合的实验。
-1-
文档评论(0)