简单的计算器
一、 题目
编写一个有符号多位十进制数的四则运算计算器程序
二、 目的和要求
编写一个有符号多位十进制数的四则运算计算器程序,所输入的算式如下例所示:
-278+32=
-132――12=
11*-32=
-1234/-18=
要求程序能接收键入的算式,在接收到‘=’号时,计算并以有符号十进制数的形式
显示结果,然后允许用户继续键入算式。如果键入算式后再键入‘.’,则显示结果并
结束整个程序。(‘/’为整除)
三、 设计思想
1 , 定 义 A , B 作 为 存 入 两 个 操 作 数 , H , L 存 入 高 位 和 低 位 ,
COUNTA,COUNTB 位暂存器,存 A,B 的字节数。S 用来存放运算符+|-|*|/,
AB 的偏移地址放入[SI],[SI]的内容即为输入的两个操作数 A,B
2,在 STR1 的提示下,输入一个字符,若为 Q/q 则结束,若为数字 0-9 则放入[SI]
中,程序读出两个操作数 A,B 并将其转换成二进制数进行四则运算。
3,对于减法运算,若被减数比减数小,则交换两操作数进行运算,结果显示为负 。
对于除法运算,显示商和余数。
4,最后结果转换成十进制输出
四、 程序流程图
五、 源程序
STACK SEGMENT STACK 'STACK'
DW 64 DUP(?)
0-9 , +|-|
*|/
=
都不是
都不是
Q/q
Q/q
0-9
开始
输入一个字符
0-9 ,
Q/q?
判断出错
再输入一个字符
0-9 , = , Q/q,
+|-|*|/?
输出结果
结束