资源描述:
《访问CMOS RAM汇编实验报告_昆明理工大学》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、昆明理工大学信息工程与自动化学院学生实验报告(2012—2013学年第一学期)课程名称:汇编与微机接口实验开课实验室:信自楼4442012年11月22日年级计科2010级学号姓名成绩实验项目名称实验四访问CMOSRAM指导教师李英娜教师评语教师签名:年月日一、实验目的:1、熟悉并且掌握汇编语言端口读写的指令和常用端口;2、熟练地掌握循环与分支程序的设计过程,进行BCD码到字符的转换;3、掌握汇编指令:SHR、AND、OR;4、运用INT10H指令进行屏幕格式定义。5、熟悉并且掌握屏幕特殊格式输出。二、实验要求:编写一个程序
2、,以年/月/日/时-分-秒的格式在屏幕上显示系统时间,要求从屏幕的12行位置开始显示三行,从每行的24列开始显示。三、实验环境汇编程序:MASM6.15,链接程序:LINK.EXE,调试环境:DEBUG.EXE,对操作系统和计算机五特殊要求,如果是WIN7以上操作系统,需要安装DOSBOX虚拟平台。四、实验内容(算法及运行结果的截图)-4-assumecs:codecodesegmentstart:movbx,0b800hmoves,bxmovdi,80*2*10+24*2;movcx,3;循环三次,输出三行a:adddi
3、,80*2;此处为第12行第24列。pushdimoval,10;为了有规律可循,初始al的值为10(十进制)rdate:;读取日期decalcmpal,7jbrtime;当读完‘日’后,就跳至标号rtime处callshowadddi,6jmpshortrdatertime:;读取时间subal,2cmpal,0feh;为无符号数相减jesign;当读完‘秒’后,就跳至标号sign处callshowadddi,6jmpshortrtimesign:;显示相关符号popdiadddi,4;定位第一个'/'符号在显存的偏移地
4、址movbyteptres:[di],'/'movbyteptres:[di+1],09h;定义输出格式adddi,6movbyteptres:[di],'/'movbyteptres:[di+1],09h;定义输出格式adddi,12;跳过日期与时间之间的空格movbyteptres:[di],'-'movbyteptres:[di+1],09h;定义输出格式adddi,6movbyteptres:[di],'-'-4-movbyteptres:[di+1],09h;定义输出格式subdi,28;减去日期和时间所占字符l
5、oopa;循环三次,显示三行inal,60hcmpal,10h;Q键的扫描码jequitjmpstart;以上4句为动态获取系统时间的关键quit:movax,4c00hint21hshow:pushaxpushcxout70h,alinal,71hmovah,almovcl,4shrah,clandal,00001111baddah,30haddal,30hmovbyteptres:[di],ahmovbyteptres:[di+1],09Hmovbyteptres:[di+2],almovbyteptres:[di+3
6、],09Hpopcxpopaxretcodeendsendstart运行结果截图:-4-六、实验总结此次实验让我对接口的读写以及in,out命令的使用有了实际的体会,同时也了解了cmos的相关知识,并亲自动手对cmosRam中的时间数据进行了读取操作,由于题目要求要输出三行显示,所以通过调试也对显存中的字符存储方式细节有了巩固,也对子程序调用等知识也有了回顾,是一次较为综合的实验。-4-