微机原理实验简易计算器

微机原理实验简易计算器

ID:35344854

大小:73.01 KB

页数:7页

时间:2019-03-23

微机原理实验简易计算器_第1页
微机原理实验简易计算器_第2页
微机原理实验简易计算器_第3页
微机原理实验简易计算器_第4页
微机原理实验简易计算器_第5页
资源描述:

《微机原理实验简易计算器》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、【实验题目】简易计算器设计【实验目的】综合测试学生微机接口技术及应用能力,包括系统构思设计、电路设计搭建、软件调试等;结合应用实际,培养学生运用微机技术服务应用、服务实际的能力。【基本要求】1)利用实验箱上的4x4键盘及6位数码管,实现两个16位宽的非负整数(0-65535)进行+、一、X运算,计算结果限制在范围・65535~65535,超过范围在数码管最低位显示E;2)16个按键的分配可以自行指定;【扩展要求】1)按基本要求保持输入的范围不变(16位宽),扩展计算结果的范围到用足6位数码管,当计算结果超过-65535-999999时,显示E;

2、2)增加宁的功能,有小数显示;【实验程序】;该程序实现了基本要求及扩展要求的2)DSEGSEGMENTBUFFDB6DUP(?)LED_7DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H,00H,40HPOSITIONDB0DFH,0EFH,0F7H,0FBH,0FDH,0FEHUNIT10DW10000,1000,100,10,1NEWNUMDBOCOUNTDBOFLAGDB0;是否有键按下的标志NEGTIDB0;是否为负数的标志NUMDW0NUM1DW0NUM

3、2DW0TAGDB0;运算种类标志POINTDB0;除法结果添加小数点标志RESULTDW0DSEGENDSCSEGSEGMENTASSUMEDS:DSEG,CS:CSEGSTART:MOVAX,DSEGMOVDS,AXMOVDX,300CH;8255初始化MOVAL,81HOUTDX,ALLEASI,BUFFMOVCX,6NEXT:MOVBYTEPTR⑸],16INCSILOOPNEXTCALLSHOW;将显示缓冲区中内容在LED±一次显示出来MOVCOUNT,。;记按下了儿位数NEXT2:CALLSHOWCALLSCAN;判断是否有按键按下

4、CMPFLAG,1JZOKJMPNEXT2OK:MOVFLAG,0MOVPOINTOMOVDX,3000H;判断是哪一个键被按下MOVAL,OFFHOUTDX,ALMOVCH,-1;CH用于保存当前被扫描的列号MOVCL,07FHXL:ROLCL,1INCCHMOVDX,3000HMOVAL,CLMOVAL,OFFHOUTDX,ALCALLDELAY2JMPNEXT2JIAFA:MOVTAG,1CALLTO_DECMOVAX,NUMMOVNUM1,AXJMPSTARTJIANFA:MOVTAG,2CALLTO_DECMOVAX,NUMMOVNU

5、M1,AXJMPSTARTCHENGFA:MOVTAG,3CALLTO_DECMOVAX,NUMMOVNUM1,AXJMPSTARTCHUFA:MOVTAG,4CALLTO_DECMOVAX,NUMMOVNUM1,AXJMPSTARTCLEAR:JMPSTART;置加法标志;将输入的数转化为I•进制数保存;继续输入第二个按键数YUNSUAN:CALLTO_DEC数保存MOVAX,NUMMOVNUM2,AXCMPTAGZ1JZSJIAFCMPTAGZ2JZSJIANFCMPTAG,3JZSCHENGFCMPTAG,4JZSCHUF;将第二次输入的

6、数转化为十进制YEAH:CALLCHULI;将结杲中零的位置16关显示OUTDX,ALMOVDX,3008HINAL,DXANDAL,OFHCMPAL,OFHJZXL;选中下一列被扫描CMPAL,OEHJNZFOURMOVCL,0;CL保存行号JMPFREEFOUR:CMPAL,ODHJNZBAMOVCL,4JMPFREEBA:CMPALZOBHJNZSHIERMOVCL,8JMPFREESHIER:CMPAL,07HJNZXLMOVCL,12FREE:ADDCH,CL;行列值相加为按键代表的值CMPCH,9JBESHUZICMPCH,12;加

7、法JZJIAFACMPCH,13;减法JZJIANFACMPCH,14;乘法JZCHENGFACMPCH,15;除法JZCHUFACMPCH,11;等号时进行运算JZYUNSUANCMPCH,10;此键清屏重新输入JZCLEARSHUZI:INCCOUNTmovnewnum,chCALLCOPY;将新输入的按键值送入显示缓冲区的最末位MOVDX,3000H;将LED关显示PUSHAXPUSHCXPUSHSIMOVAX,NUM1CMPAX,NUM2JAPOSITIVEMOVNEGTI4MOVAX,NUM2SUBAX,NUM1JCYC2JMPOVP

8、OSITIVE:MOVAX,NUM1SUBAX,NUM2JCYC2OV:MOVRESULTAXCALLTO_SHOWSHUJMPOVER2YC2:LE

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。