键盘输入两个一位十进制数 ,以十进制数的形式输出其和

stack segment
db 10 dup(?)
stack endsdata segment
;显示提示语句
string_1 db 'input num a: $'
string_2 db 0ah,0dh,'input num b: $'
string_3 db 0ah,0dh,'a+b= $'
data endscode segment
assume cs:code,ds:data,ss:stack
start:
mov ax,data
mov ds,ax;显示提示
lea dx,string_1
mov ah,09h
int 21h;读取第一个数
mov ah,01h
int 21h
sub al,30h
mov bl,allea dx,string_2
mov ah,09h
int 21h;读取第二个数
mov ah,01h
int 21h
sub al,30hlea dx,string_3
mov ah,09h
int 21h;将最后的结果放入al中 AAA是关键
xor ah,ah
add al,bl
AAApush ax; 保护ax;输出结果的高位
add ah,30h
mov dl,ah
mov ah,02h
int 21hpop ax;输出结果的低位
add al,30h
mov dl,al
mov ah,02h
int 21hmov ax,4c00h
int 21hcode ends
end start

结果


思路

  1. 分别从键盘上读入两个数
  2. 相加 结果放入al中(AAA那里要求是al)
  3. 利用AAA转换为十进制数
  4. 分别输出结果

总结

  1. 从键盘上读入的数存入计算机的其实是其对应的ASCII值。比如输入 9 其实存的是 39h 所以我们在读入9后,为了更好的进行加法运算,先减去30h,这样计算机中存的就是9h了,便于我们平常的加法运算。
  2. 两个数相加后,结果放入al中,从十进制角度看,9+9=18,其实计算机存储的是12h,存在al中,为了输出的是18 我们需要用到AAA(不清楚AAA的用法,自行百度)
  3. AAA的作用简单说来就是把十六进制转换为十进制,比如al存的是12h,运用AAA后,ah存的为1h,al存的就是8h。
  4. 最后分别输出ah、al中的值,记得+30h,输出也是ASCII输出啊!
  5. 主要对变量的保护,运用栈 这里是对ax保护,因为后面有操作会破坏其值

更多

获取更多资料、代码,微信公众号:海轰Pro
回复 海轰 即可

汇编语言--键盘输入两个一位十进制数 ,以十进制数的形式输出其和相关推荐

  1. JAVA编写程序实现,由键盘输入两个整数,输出其中较大的数。

    import java.util.Scanner;public class Test1 {public static void main(String[] args) {// 1,编写程序实现,由键盘 ...

  2. 3.17从键盘输入两个正整数 a 和 b,求其最大公约数和最小公倍数。

    3.17从键盘输入两个正整数 a 和 b,求其最大公约数和最小公倍数. 算法思想 利用格式输入语句将输入的两个数分别赋给 a 和 b,然后判断 a 和 b 的关系,如果 a 小于 b,则利用中间变量 ...

  3. java找出命题p和q的合取_从键盘输入两个命题变元p和q的真值-求它们的合取、析取、蕴含和等价的真值...

    <从键盘输入两个命题变元p和q的真值-求它们的合取.析取.蕴含和等价的真值>由会员分享,可在线阅读,更多相关<从键盘输入两个命题变元p和q的真值-求它们的合取.析取.蕴含和等价的真值 ...

  4. java找出命题p和q的合取_从键盘输入两个命题变元P和Q的真值-求它们的合取、析取、蕴含和等价的真值.doc...

    长治学院 <离散数学>实验报告 专 业: 计算机科学与技术 班 级: 计科1202班 学 号: 姓 名: 武文超 组 别: 1 指导老师: 李艳玲 2013.11.30~2013.12.2 ...

  5. C语言习题:/*键盘输入两个非零整数A和B,如果A和B都是偶数则输出两个数的和,如果A和B都是奇数则输出两个数的差,如果A是奇数B是偶数则输出两数积,如果A是偶数B是奇数输出AVB结果*/

    #include<stdio.h> /*键盘输入两个非零整数A和B,如果A和B都是偶数则输出两个数的和, 如果A和B都是奇数则输出两个数的差, 如果A是奇数B是偶数则输出两数积, 如果A是 ...

  6. 从键盘输入两个数作为除数和被除数。要求程序中捕获NumberFormatException 异常和ArithmeticException 异常, 而且无论在哪种情况下,“程序执行结束”这句话都会在控制

    编写应用程序,从键盘输入两个数作为除数和被除数.要求程序中捕获NumberFormatException 异常和ArithmeticException 异常, 而且无论在哪种情况下,"程序执 ...

  7. 异常类练习——编写应用程序,从键盘输入两个数作为除数和被除数。捕获NumberFormatException 异常和ArithmeticException 异常,

    编写应用程序,从键盘输入两个数作为除数和被除数.要求程序中捕获NumberFormatException 异常和ArithmeticException 异常,而且无论在哪种情况下,"程序执行 ...

  8. 使用matlab从键盘输入两个命题变元P和Q的真值,求它们的合取、析取、蕴涵和等价四种运算的真值。

    从键盘输入两个命题变元P和Q的真值,求它们的合取.析取.蕴涵和等价四种运算的真值.要求对输入内容进行分析,如果不符合0.1条件需要重新输入,程序有良好的输入输出界面. 此题代码: while 1n = ...

  9. 从键盘输入两个命题变元P和Q的真值,求它们的合取、析取、蕴涵和等价四种运算的真值。要求对输入内容进行分析,如果不符合0、1条件需要重新输入,程序有良好的输入输出界面

    从键盘输入两个命题变元P和Q的真值,求它们的合取.析取.蕴涵和等价四种运算的真值.要求对输入内容进行分析,如果不符合0.1条件需要重新输入,程序有良好的输入输出界面. n=0; while 1if n ...

最新文章

  1. python绘制影像组学训练集、测试集对应的ROC曲线以及瀑布图(rad-score 瀑布图)
  2. python中常用的序列化模块_Python常用模块之pickle——对象序列化
  3. Java异常信息处理
  4. Selenium2Lib库之输入常用关键字实战
  5. VS-code中的Postman替代品
  6. dig指定服务器查询域名解析时间
  7. 全排列的递归与非递归形式
  8. 数据结构之树的定义及操作
  9. Python为什么要self
  10. Linux之date命
  11. 斐波那契数列(递归和非递归实现)
  12. Codeforces1005E1 - Median on Segments (Permutations Edition)(中位数计数)
  13. 文字处理技术:标点压缩
  14. 医疗保险前台系统ER图1
  15. php 跨域提交,php实现跨域提交form表单的方法
  16. QQ浏览器侧边栏添加腾讯翻译君
  17. 清除Windows远程桌面连接记录
  18. ssr的pac中加入学校图书馆数据库访问pac
  19. 易语言怎么查看服务器文件,易语言文件传输查看进度
  20. 麦当劳中国首个IT战略研发中心在南京启用;大食代积极布局中国西南市场 | 美通企业日报...

热门文章

  1. 微软面试100题【机密】
  2. delaunay三角剖分算法——分治算法概述与实现1
  3. 个人买电脑有哪些用途
  4. i3wm窗口管理器的简明使用操作
  5. 知己知彼,百战不殆,2016年50家创业公司To B产品使用情况分析
  6. Alamofire+HandyJSON+泛型封装的简单离散式网络框架
  7. 今天发布贾永刚老师关于深海原位测试视频
  8. setTimeout是否阻塞
  9. tip:阅读源码小技巧
  10. 【C语言安全编码之可重入函数】1、可重入函数的基本概念