微机原理实验简易计算器Word下载.docx
- 文档编号:13291173
- 上传时间:2022-10-09
- 格式:DOCX
- 页数:18
- 大小:36.28KB
微机原理实验简易计算器Word下载.docx
《微机原理实验简易计算器Word下载.docx》由会员分享,可在线阅读,更多相关《微机原理实验简易计算器Word下载.docx(18页珍藏版)》请在冰豆网上搜索。
TAGDB0;
运算种类标志
POINTDB0;
除法结果添加小数点标志
RESULTDW0
DSEGENDS
CSEGSEGMENT
ASSUMEDS:
DSEG,CS:
CSEG
START:
MOVAX,DSEG
MOVDS,AX
MOVDX,300CH;
8255初始化
MOVAL,81H
OUTDX,AL
LEASI,BUFF
MOVCX,6
NEXT:
MOVBYTEPTR[SI],16
INCSI
LOOPNEXT
LED上一次显示出来
MOVCOUNT,0;
记按下了几位数
NEXT2:
CALLSHOW
CALLSCAN;
判断是否有按键按下
CMPFLAG,1
JZOK
JMPNEXT2
OK:
MOVFLAG,0
MOVPOINT,0
MOVDX,3000H;
判断是哪一个键被按
下
MOVAL,0FFH
MOVCH,-1;
CH用于保存当前被扫
描的列号
MOVCL,07FH
XL:
ROLCL,1
INCCH
MOVDX,3000H
MOVAL,CL
FREE:
OUTDX,AL
INAL,DX
ANDAL,0FH
CMPAL,0FH
JZXL;
选中下一列被扫描
CMPAL,0EH
JNZFOUR
MOVCL,0;
CL保存行号
JMPFREE
FOUR:
CMPAL,0DH
JNZBA
MOVCL,4
BA:
CMPAL,0BH
JNZSHIER
MOVCL,8
SHIER:
CMPAL,07H
JNZXL
MOVCL,12
值
CMPCH,9
JBESHUZI
CMPCH,12;
力口法
JZJIAFA
CMPCH,13;
减法
JZJIANFA
CMPCH,14;
乘法
JZCHENGFA
CMPCH,15;
除法
JZCHUFA
CMPCH,11;
等号时进行运算
JZYUNSUAN
CMPCH,10;
此键清屏重新输入
JZCLEAR
SHUZI:
INCCOUNT
MOVNEWNUM,CH
CALLCOPY;
将新输入的按键
值送入显示缓冲区的最末位
将LED关显示
CALLDELAY2
JIAFA:
MOVTAG,1;
置加法标志
CALLTO_DEC;
将输入的数转化为十进制数保存
MOVAX,NUM
MOVNUM1,AX
JMPSTART;
继续输入第二个按键数
JIANFA:
MOVTAG,2
CALLTO_DEC
JMPSTART
CHENGFA:
MOVTAG,3
CHUFA:
MOVTAG,4
CALLTODEC
CLEAR:
YUNSUAN:
将第二次输入的数转化
为十进制数保存
MOVNUM2,AX
CMPTAG,1
JZSJIAF
CMPTAG,2
JZSJIANF
CMPTAG,3
JZSCHENGF
CMPTAG,4
JZSCHUF
YEAH:
CALLCHULI;
将结果中零的位置16
关显示
MOVTAG,0
MOVNEGTI,0
SJIAF:
CALLJIA
JMPYEAH
SJIANF:
CALLJIAN
SCHENGF:
CALLCHENG
SCHUF:
CALLCHU
MOVAH,4CH
INT21H
JIAPROCNEAR
PUSHAX
PUSHCX
PUSHSI
MOVAX,NUM1
ADDAX,NUM2
JCYC1;
溢出
MOVRESULT,AX
JMPOVER1
YC1:
MOVBYTEPTR[SI],14
MOVCX,5
SS0:
LOOPSS0
OVER1:
POPSI
POPCX
POPAX
RET
JIAENDP
JIANPROCNEAR
CMPAX,NUM2
JAPOSITIVE
CALLTO_SHOWSHU
MOVNEGTI,1
结果为负数
MOVAX,NUM2
SUBAX,NUM1
JCYC2
JMPOV
POSITIVE:
SUBAX,NUM2
OV:
JMPOVER2
YC2:
SS2:
LOOPSS2
OVER2:
JIANENDP
CHENGPROCNEAR
MULNUM2
JCYC3
JMPOVER3
YC3:
SS3:
LOOPSS3
OVER3:
POPex
CHENGENDP
CHUPROCNEAR
PUSHDX
XORDX,DX
DIVNUM2
MOVPOINT,1
ADDSI,5
PEA:
MOVAL,[SI-1]
MOV[SI],AL
DECSI
LOOPPEA
POPDX
MOVAX,10
MULDX
CHUENDP
CHULIPROCNEAR
XX:
CMPBYTEPTR[SI],0
JNZNOZERO
JMPXX
NOZERO:
CMPNEGTI,1
JNZZHENG
MOVBYTEPTR[SI],17
ZHENG:
CHULIENDP
TO_DECPROCNEAR
PUSHBX
MOVAL,COUNT
XORAH,AH
ADDSI,AX
XORAX,AX
XORCH,CH
MOVCL,COUNT
AGAIN:
ADDAX,AX
MOVBX,AX
ADDAX,BX
MOVBH,0
MOVBL,[SI]
LOOPAGAIN
MOVNUM,AX
POPBX
TO_DECENDP
TO_SHOWSHUPROCNEAR
PUSHDI
LEADI,BUFF
ADDDI,5
LEASI,UNIT10
MOVAX,RESULT
MOVBYTEPTR[DI],0
TO_SHOWSHUENDP
DECDI
SHOWPROCNEAR
LOP0:
XORCL,CL
MOVBX,[SI]
LOP1:
SUBAX,BX
JBLOP3
INCCL
CMPPOINT,1;
是否需添加小数点
JMPLOP1
JNZNOPOINT
LOP3:
MOVCH,0FFH
AA3:
MOV[DI],CL
LEADI,POSITION
MOVAL,[SI]
LEABX,LED_7
CMPBX,1
XLAT
JNZLOP0
MOVDX,3004H
MOVAL,[DI]
POPDI
CALLDELAY;
延时,使一位稳定显示
INCDI
ORAL,80H;
填小数点
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 实验 简易 计算器
![提示](https://static.bdocx.com/images/bang_tan.gif)