汇编语言实现四则混合运算.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编语言实现四则混合运算

;本程序实现加减混合运算输入格式必须为 1+2-3= ;程序思路: 遇到一个操作符执行前一次运算,等号执行最后一次运算,然后保存本次操作符 ;---------提示信息------ DISPL MACRO DI MOV AH,9 MOV DX,DI INT 21H ENDM ;----------- DISP MACRO VAR MOV AH,2 MOV DL,VAR INT 21H ENDM ;--------输入函数------- INPUT MACRO PUSH AX PUSH BX PUSH CX PUSH DX MOV BX,0 ;BX存放十进制数 CLC MOV DX,0 NEXT0: MOV AH,1 INT 21H CMP AL,2BH ;判断输入是否为+ JE NEXT2 CMP AL,2DH ;判断输入是否为- JE NEXT2 CMP AL,3DH ;判断‘=’ JE NEXT2 SUB AL,30H JL NEXT1 CMP AL,9 JG NEXT1 MOV AH,0 ;将输入的数转换成10进制数 XCHG AX,BX MOV CX,10 MUL CX ADD AX,BX JC NEXT1 XCHG AX,BX JMP NEXT0 NEXT1: MOV DX,0 MOV BX,0 MOV DI,OFFSET STR ;提示出错 DISPL DI MOV DI,OFFSET STR2 DISPL DI JMP NEXT0 NEXT2: CMP DX,0 JNZ NEXT1 CMP COUNT,1 ;第一次输入存到buf0以后输入全部存放到buf1 JE L0 MOV BUF0,BX JMP L1 L0: MOV BUF1,BX JMP NEXT3 L1: MOV OPER,AL ;将操作符保存至oper MOV COUNT,1 MOV BX,0 JMP NEXT0 NEXT3: CMP OPER,+ ;判读那是何种操作 JE N0 CMP OPER,- JE N1 N0: MOV BX,BUF0 ;加法相应操作 ADD BX,BUF1 MOV BUF0,BX CMP AL,= JE NEXT4 JMP L1 N1: MOV DX,BUF0 ;加法操作 CMP FLAG,1 ;如果原来buf0里的数是负数用buf1-buf0的绝对值 JNE N2 XCHG DX,BUF1 MOV FLAG,0 N2: CLC SBB DX,BUF1 JNC N3 MOV FLAG,1 NEG DX ;如果相减为负数则存放绝对值 N3: MOV BUF0,DX CMP AL,= JE NEXT4 JMP L1 NEXT4: CMP FLAG,1 JNE NEXT5 DISP - ;若果结果为负数输出负号 NEXT5: CALL PRINT POP DX POP CX POP BX POP AX ENDM DATAS SEGMENT STR DB 0AH,0DH,$ STR0 DB please input arithmetic expressions:,0AH,0DH,$ STR2 DB the num is unexpected,input again:,0AH,0DH,$ BUF0 DW ? BUF1 DW ? FLAG DB 0 OPER DB ? COUNT DB 0 DATAS ENDS STACKS SEGMENT DW 256 DUP(?) ;此处输入堆栈段代码 STACKS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKS START: MOV AX,DATAS MOV DS,AX MOV DI,OFFSET STR0 DISPL DI INPUT MOV AH,4CH

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档