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

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DISP MACRO VAR MOV AH,2 MOV DL,VAR INT 21H ENDM DATAS SEGMENT DATA0 DB PLEASE INPUT A NUMBER(0-999):,$ DATA1 DB over flow input again:,$ DATA2 DB PLEASE INPUT ANOTHER NUMBER(EXP:123),$ DATA3 DB PLEASE INPUT AN OPREATOR:,$ DATA4 DB THE OPERATOR IS WRONG,INPUT AGAIN:,$ OPER DB ? FLAG DB 0 FLAG1 DB 0 DATA DW 3 DUP(?) 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 DATA0 ;提示信息 CALL DISPL MOV SI,0 ;SI作为数组下标 CALL INPUT CALL NEWLINE MOV DI,OFFSET DATA3 ;提示信息 CALL DISPL AGAIN: MOV AH,1 ;1号功能输入四则运算符 INT 21H CMP AL,+ ;判断输入的是不是+,-,*,/ JE NEXT0 CMP AL,- JE NEXT0 CMP AL,* JE NEXT0 CMP AL,/ JE NEXT0 CALL NEWLINE ;输入的运算符不合法,重新输入 MOV DI, OFFSET DATA4 CALL DISPL JMP AGAIN NEXT0: MOV OPER,AL ;保存运算符 CALL NEWLINE MOV DI,OFFSET DATA2 ;输入第二个操作数 CALL DISPL MOV SI,2 CALL INPUT MOV AX,DATA[0] MOV BX,DATA[2] CMP OPER,+ ;判断是那种操作,进行运算 JE NEXT1 CMP OPER,- JE NEXT2 CMP OPER,* JE NEXT3 CMP OPER,/ JE NEXT4 NEXT1: ;加法运算 CLC ADC AX,BX JNC N1 MOV FLAG,1 ;判断是否进位 N1: MOV DATA[4],AX ;运算结果放入内存 JMP OUTPUT NEXT2: ;减法运算 CLC SBB AX,BX JNC N2 MOV FLAG,1 ;判断是否借位 NEG AX N2: MOV DATA[4],AX ;运算结果放入内存 JMP OUTPUT NEXT3: ;乘法运算 CLC MOV DX,0 MUL BX MOV DATA[4],AX ;运算结果放入内存 JMP OUTPUT NEXT4: ;除法运算 CLC MOV DX,0 CMP BX,0 JNZ N4 ;判断除数是否为0 CALL NEWLINE CALL ERROR CALL NEWLINE MOV DI,OFFSET DATA2 CALL DISPL MOV SI,2 CALL INPUT JMP NEXT4 N4: DIV BX MOV DATA[4],AX ;运算结果放入内存 OUTPUT: CALL NEWLINE MOV DI,0 ;输出第一个操作数 CALL PRINT DISP OPER ;输出运算符 MOV DI,2

文档评论(0)

137****4262 + 关注
实名认证
内容提供者

网文天下

1亿VIP精品文档

相关文档