200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 汇编语言将十六进制数转换成十进制数_汇编语言--键盘输入两个一位十进制数 以十进

汇编语言将十六进制数转换成十进制数_汇编语言--键盘输入两个一位十进制数 以十进

时间:2019-09-07 17:27:12

相关推荐

汇编语言将十六进制数转换成十进制数_汇编语言--键盘输入两个一位十进制数  以十进

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

stack segmentdb 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 segmentassume cs:code,ds:data,ss:stackstart:mov ax,datamov ds,ax;显示提示lea dx,string_1mov ah,09hint 21h;读取第一个数 mov ah,01hint 21hsub al,30hmov bl,allea dx,string_2mov ah,09hint 21h;读取第二个数mov ah,01hint 21hsub al,30hlea dx,string_3mov ah,09hint 21h;将最后的结果放入al中 AAA是关键 xor ah,ahadd al,blAAApush ax; 保护ax;输出结果的高位add ah,30hmov dl,ahmov ah,02hint 21hpop ax;输出结果的低位add al,30hmov dl,almov ah,02hint 21hmov ax,4c00hint 21hcode endsend start

结果

思路

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

总结

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

汇编语言将十六进制数转换成十进制数_汇编语言--键盘输入两个一位十进制数 以十进制数的形式输出其和...

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。