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

上传人:s9****2 文档编号:509145610 上传时间:2023-09-21 格式:DOC 页数:19 大小:42.50KB
返回 下载 相关 举报
汇编语言实现四则混合运算_第1页
第1页 / 共19页
汇编语言实现四则混合运算_第2页
第2页 / 共19页
汇编语言实现四则混合运算_第3页
第3页 / 共19页
汇编语言实现四则混合运算_第4页
第4页 / 共19页
汇编语言实现四则混合运算_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《汇编语言实现四则混合运算》由会员分享,可在线阅读,更多相关《汇编语言实现四则混合运算(19页珍藏版)》请在金锄头文库上搜索。

1、;本程序实现加减混合运算输入格式必须为+2-=;程序思路: 遇到一种操作符执行前一次运算,等号执行最后一次运算,然后保存本次操作符;-提示信息-DIPLMACRO D MOV AH,9OX,IINT21HM;-DISPMACR VARMV A,2MOVDL,VARINT 1HENDM;-输入函数-NPU MACRO PUSH AXPUSH XPUSH CXPSH DXMOV BX,0 ;B寄存十进制数CLMOV X,0NET0:MO AH,INT 21MP AL,BH ;判断输入与否为+JE NXTCM AL,H ;判断输入与否为-JE NEXT2 CMPL,3DH ;判断=JE EX2SUB

2、 AL,30HJ NET1CMPAL,JG NEXT1MV A,0 ;将输入旳数转换成1进制数XCHG X,BXM X,0MU CADD AX,BXC EX1HG AX,B MP NEXT0XT1:MOV DX,0MV BX,0 MOV DI,OFSE STR ;提示出错 DPDI MOV DI,OFTSTR2 ISPLDIJP EXTNEX2: CMP DX,0N NEXTMCOUNT, ;第一次输入存到buf后来输入所有寄存到bf JE LOV BF,BXJMPL1L0: MOV BUF1,BX JP NEXT31: MOV PER,L ;将操作符保存至oper MO COUN, MOV

3、BX,0 JMP EXT0NX:MP PR,+ ;判读那是何种操作JECMPOR,JEN10:MOVB,BUF0 ;加法相应操作ADBX,UFMBUF0,BXCMPAL,=JENEXTJM L1N: MO D,BU0 ;加法操作CPFLA, ;如果本来bf里旳数是负数用u1u0旳绝对值NENHG X,BUF1MOVFAG,0N2:LC BBD,BUF1 N3 MOVFL,1 NEG D ;如果相减为负数则寄存绝对值3: OVBF0,X CPL,=ENXT4 PL1N: C LAG,1 JN NET5 DIP - ;若果成果为负数输出负号NET5: CLLPRINT POP DP CXPO BX

4、OP AX NMAS EGMENTSTDB 0AH,0DH,$TRDBpleae intathetc expreis:,0A,0,$ST2DBhenum isunexpected,iptgai:,0AH,H,$UF W?BU1 DW ?FLG 0PDB ?CONT DTS NDSSTAKS SEMNT DW25DU(?) ;此处输入堆栈段代码STACKS NDSE EGMENT SUE C:CODE,DS:ATAS,SS:SCSSTRT: MOVAX,TA MODS,AX MO DI,OFFET SR0 DIPLD NPU O AH,4CH INT ;-显示函数-PRINTPRC NER PU

5、SH AX PUSBXUH CXPSH D MO ,0 ;记录有效数字位数 MV BX,1 ;除10取余 MOV AX,UFLST: OV X,0 DI BX PUSHDX NC CX MP X,0 JNZ LATAGE: OP DX ;出栈输出 OR DX,30 MV A, IT 21H LOOP AE POP DX POP CXPO XPP ARETPRIT ENDDES ENDS NDSTARTDPMACRO VARMO AH,2OV L,AINT 21HMDATA SEGMENTDAT0 DBPLEAS INPUTA NUMBER(099):,$DAA DB ove flowinpt

6、agan:,$DATDB PLE INPT NOTHER NUME(X:13),$DATAD PLEASE INPUT A OPEAOR:,$DTA DB TE OERATOR IS WRONG,INPUTAGIN:,$OERD?FLAGDB LAGDB 0DATA DW3 DU(?)ATA ENDSSACKS EGMET W 26 U(?)SACK EDCOS SEGMEN ASSUME CS:CODS,DS:DATAS,SS:STACKSSTART: MOV X,DAT OV DS,AX OVDI,OFSETATA ;提示信息 CA OVI, ;I作为数组下标 CALL INPUT CA

7、EWLIEMOV D,FFSETDTA ;提示信息CLL DISPGIN: OVAH,1 ;号功能输入四则运算符 T 21HMPAL, ;判断输入旳是不是+,*,/JE NXTCPAL,-JE NEX0CA,*JE X0CMAL,/J NEXT0AL EWL ;输入旳运算符不合法,重新输入 OVDI,OFSEDATA4 CAL PLJMAAIT0: MVPER,L ;保存运算符 CAL NWLINE MOV DI,OFEDATA2 ;输入第二个操作数 CLL DISPL OVS,2 CAL INPT MOA,AT OVBX,DAA2CMPER,+ ;判断是那种操作,进行运算JE ET1CMPP

8、ER,-E N2CMPOPR,*JE NEXT3MPOR,/J EX4 NEXT1: ;加法运算CLADCA,BXJN 1MOVLAG,1 ;判断与否进位N: MOVDTA4,AX ;运算成果放入内存J UTPU NEXT: ;减法运算CLSBA,BJNNMVFLAG, ;判断与否借位NEGAXN2: MOVDAT4,X ;运算成果放入内存 JMP UTPUTNEX3: ;乘法运算CMVDX,0MB MTA4,X ;运算成果放入内存 JMP OUTUNEXT4: ;除法运算CLCMO,0MB,0JNZN4 ;判断除数与否为0CALNLEALLERROR CLNEWN MVDI,OFSTDATA2 CAL DSPL MOS,2 CLINPU MNETN4:DIVBX MOVDAT4, ;运算成果放入内存OUTPUT: CA NEWLINE OV DI,0 ;输出第一种操作数 CAL PRINT DP OPER ;输出运算符 M D,2 CLL PRIN ;输出第二个操作数DIS=CMPFLAG,1NNEXTDISP -NXT5:MOVDI,4CALPIN ;输出成果 MAH,4H IN

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号