- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《汇编语言程序设计》
综合程序设计实验报告
题 目: 简单的表达式求值
班 级: 1101-1
姓 名: 韩亚华
姜力比
学 号:
完成日期: 2013-11-24
项目简介
题目完成了对简单的加减乘除四则表达式的求值,同时能判断各种运算级括号的优先级,进行正确的运算顺序。
小组成员具体分工
韩亚华:完成判断优先级方法设计,以及细节的处理。
姜力比:完成输入输出函数的设计,以及各运算函数。
需求分析与设计
要完成四则运算表达式求值必须解决以下问题
如何在汇编环境下输入并保存操作数
如何保存运算符和比较运算符的优先级
如何输出计算结果
负数和括号的细节问题
代码及分析
DSEG SEGMENT
STR1 DB 0AH,0DH, please input the expression:(Njump out)$
SIGN1 DW 0 ;判断数字是否输入完毕
SIGN2 DW 0 ;判断括号是否配对
;SIGN3 DW 0 ;
NUMB DW 20H DUP(0) ;保存输入的数值
MARK DB A ;保存输入的运算符
DB 10H DUP(0) ;
ERROR DB YOUR INPUT ARE WRONG$
DSEG ENDS
DISP MACRO M
LEA DX,M
MOV AH,9
INT 21H
ENDM
CHOICE MACRO ASC1,HAO1,HH ;宏定义,给运算符赋权值
CMP AL,ASC1 ;
JNE OTHERHAO1 ;
MOV CH,HH ;
JMP OTHER7 ;
ENDM
CSEG SEGMENT
START:
ASSUME CS:CSEG,DS:DSEG
CALL CLEAR
MOV AX,DSEG ;
MOV DS,AX ;
LEA DI,NUMB ;
LEA SI,MARK ;
DISP STR1
CALL CR
;disp error
MOV AX,0
MOV DX,0
MOV BX,0
MOV CX,0
STA1 : CALL CR
INPUT:
MOV AH,01 ;
INT 21H ;
CMP AL,N
JE J_SHU
CMP AL,= ;
JE PD ;是等号,进一步判断输入括号是否配对
CMP AL,28H ;
JB INPUT ;
CMP AL,39H ;
JA INPUT ;
CMP AL,2FH ;判断是数字还是符号
JBE JUD ;是符号转入响应操作
INC WORD PTR SIGN1 ;将数字标志位加一
SUB AL,30H ;将asc码转16进制
MOV AH,0 ;
XCHG AX,[DI] ;
MOV BX,10 ;
MUL BX ;
XCHG AX,[DI] ;
ADD [DI],AX ;
JMP INPUT ;
PD:
CMP WORD PTR SIGN2,0 ;判断配对标志位
JE JUD ;
JMP BC ;
JUD:
CMP WORD PTR SIGN1,0 ;判断数值指针是否已经下移一位
JNE FUH ;
CMP AL,-
JNE FUH1
MOV DX,0
MOV [DI],DX
FUH:
ADD DI,2 ;
MOV WORD PTR SIGN1,0;
FUH1:
CALL ADVANCE ;判定优先级,
CMP CH,5 ;判断输入的是否是左括号
JNE PY ;不是则判断输入的是否是右括号
INC WORD PTR SIGN2 ;是左括号,括号标志位1
;MOV WORD PTR SIGN3,1;
PY:
CMP CH,
文档评论(0)