汇编语言实现2个任意数相加.doc

汇编语言实现2个任意数相加.doc

ID:55710610

大小:13.00 KB

页数:3页

时间:2020-05-26

汇编语言实现2个任意数相加.doc_第1页
汇编语言实现2个任意数相加.doc_第2页
汇编语言实现2个任意数相加.doc_第3页
资源描述:

《汇编语言实现2个任意数相加.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、DATASSEGMENT      XDB100DUP(?)      YDB100DUP(?)      ZDB100DUP(?),'$';此处输入数据段代码 DATASENDSSTACKSSEGMENT   ;此处输入堆栈段代码STACKSENDSCODESSEGMENT   ASSUMECS:CODES,DS:DATAS,SS:STACKSSTART:   MOVAX,DATAS      MOVDS,AX      MOVBX,0DATAX:      MOVAH,01H  ;01回显,将数据存放在AL中   INT21H    CMPAL,'+' 

2、 ;"+"与输入的数据相减是否为0,即用“+作为X的结束标志”JZA1       ;判断,为0时,跳转A1,不为0,执行下一条语句   PUSHAX     ;将AX整个16位(包括AH,AL)一起进栈   INCBX      ;计数   JMPDATAX   ;循环将X的每个位依次输入  A1:   MOVCX,BX   MOVSI,0A11:    POPAX      ;将AX内的数据出栈   MOVX[SI],AL;将AL的数据保存到X段中   INCSI   LOOPA11    ;依次循环保存      MOVBX,0DATAY:  MOVA

3、H,01H   INT21H   CMPAL,'='   JZA2   PUSHAX   INCBX   JMPDATAY A2:    MOVCX,BX   MOVSI,0A12:POPAX   MOVY[SI],AL   INCSI   LOOPA12   ;同理,此处是以"="作为Y值的结束标志,输入Y值并保存在Y段   RESULT:   CLC          PUSHF       ;CF先进栈   MOVCX,100   MOVSI,0   MOVDI,99 A3:MOVAL,X[SI];将X段数据放在AL中   MOVDL,Y[SI];将X

4、段数据放在DL中       POPF   ADCAL,DL   ;考虑进位运算,AL+DL+CF   AAA          PUSHF   ADDAL,30H  ;转换成ASCII码   MOVZ[DI],AL;将结果从第99位倒着保存到Z段中   INCSI   DECDI   LOOPA3     ;依次循环将结果保存到Z段   MOVSI,0A4:CMPZ[SI],30H    JNZA5   INCSI   JMPA4     ;从第0位开始判断,看Z[SI]中的数据是否为0    A5:    LEADX,Z[SI]   MOVAH,09H 

5、;直到不为0的数据那一位是开始显示到第99位   INT21H   MOVAH,4CH   INT21HCODESENDSENDST

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。