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

上传人:牧羊曲112 文档编号:3613105 上传时间:2023-03-14 格式:DOCX 页数:3 大小:36.94KB
返回 下载 相关 举报
汇编语言实现2个任意数相加.docx_第1页
第1页 / 共3页
汇编语言实现2个任意数相加.docx_第2页
第2页 / 共3页
汇编语言实现2个任意数相加.docx_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《汇编语言实现2个任意数相加.docx》由会员分享,可在线阅读,更多相关《汇编语言实现2个任意数相加.docx(3页珍藏版)》请在三一办公上搜索。

1、汇编语言实现2个任意数相加DATAS SEGMENT X DB 100 DUP(?) Y DB 100 DUP(?) Z DB 100 DUP(?),$;此处输入数据段代码 DATAS ENDS STACKS SEGMENT ;此处输入堆栈段代码 STACKS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKS START: MOV AX,DATAS MOV DS,AX MOV BX,0 DATAX: MOV AH,01H ;01回显,将数据存放在AL中 INT 21H CMP AL,+ ;+与输入的数据相减是否为0,即用“+作为X的结束

2、标志” JZ A1 ;判断,为0时,跳转A1,不为0,执行下一条语句 PUSH AX ;将AX整个16位一起进栈 INC BX ;计数 JMP DATAX ;循环将X的每个位依次输入 A1: MOV CX,BX MOV SI,0 A11: POP AX ;将AX内的数据出栈 MOV XSI,AL ;将AL的数据保存到X段中 INC SI LOOP A11 ;依次循环保存 MOV BX,0 DATAY: MOV AH,01H INT 21H CMP AL,= JZ A2 PUSH AX INC BX JMP DATAY A2: MOV CX,BX MOV SI,0 A12:POP AX MOV

3、YSI,AL INC SI LOOP A12 ;同理,此处是以=作为Y值的结束标志,输入Y值并保存在Y段 RESULT: CLC PUSHF ;CF先进栈 MOV CX,100 MOV SI,0 MOV DI,99 A3: MOV AL,XSI ;将X段数据放在AL中 MOV DL,YSI ;将X段数据放在DL中 POPF ADC AL,DL ;考虑进位运算,AL+DL+CF AAA PUSHF ADD AL,30H ;转换成ASCII码 MOV ZDI,AL ;将结果从第99位倒着保存到Z段中 INC SI DEC DI LOOP A3 ;依次循环将结果保存到Z段 MOV SI,0 A4: CMP ZSI,30H JNZ A5 INC SI JMP A4 ;从第0位开始判断,看ZSI中的数据是否为0 A5: LEA DX,ZSI MOV AH,09H ;直到不为0的数据那一位是开始显示到第99位 INT 21H MOV AH,4CH INT 21H CODES ENDS END ST

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号