初学者的一点疑问,汇编语言计算两个输入数字的和并输出 1C

assume cs:code,ds:data
data segment
buf1 db 20
db ?
db 20 dup(?)
buf2 db 20
db ?
db 20 dup(?)
sh1 db "please input tow numbers$"
sh2 db 0ah,0dh,"The first number is $"
sh3 db 0ah,0dh,"The second number is $"
sh4 db 0ah,0dh,"The result of them is $"
data ends
code segment
start: mov ax,data
mov ds,ax

show1: mov dx,sh1
mov ax,09h
int 21h
mov dx,sh2
int 21h

buf1: lea dx,buf1
mov ax,0ah
int 21h
buf2: lea dx,buf2
mov ax,0ah
int 21h

add1:

;====想法:将第一个数字送入buf1中,将第二个数字送入buf2中
;====比较两个数字的长度,以长度较大的数字的字节数作为循环次数,进行加法循环
;====将每次循环的结果依次压栈,在循环结束后,依次出栈,显示到屏幕上

目前我只想到了这些,但是再往下就不会写了...
还请大神多多指教


0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
用汇编语言编程实现求两个数的和,并用十进制输出
用汇编语言编程实现求两个数的和,并用十进制输出
汇编语言编写数组的问题和实现输入两个十进制数输出的问题
问题1:用汇编语言编写,将一个包含10个带符号数的数组分成正数数组和负数数组? 1.你的10个带符号的数据是存放在内存中还是要手工输入的(这个代码量就大多了) 2.你的10个数据是几个字节的(最简的是单字节操作) 3.分好的数据是单独存放还是存放在原位置,要不要输出 代码: double:a(i),b(i),c(i) for(i=0,i<9,i++) { if a(i) >0, b(
(汇编复习)从键盘上输入两个一位十进制无符号数字符,并对其做加法,以十进制的形式输出结果
CODE SEGMENT ASSUME CS:CODE start: mov dl,'?' mov ah,02h int 21h mov ah,01h int 21h cmp al,'0' jb start cmp al,'9' ja start ...
汇编程序从键盘输入数据并显示
用汇编程序设计,从键盘输入相干数据并显示
80x86 汇编语言编程:输入数字串,排序、并求最大和最小
;从键盘输入一个ENTER结束的十进制数字串, 按ASCII码值降序排列这个数字串,;举报|2013-12-10 21:36鼬风行 | 分类:汇编语言 | 浏览61次;并另起一行,显示出ASCII码制最大和最小的两个数;题目链接:;http://zhidao.baidu.com/question/1429974384330700699.html;做而论道编程如下:;================
利用汇编语言编程实现在键盘上输入两个一位数,在屏幕上显示它们的积。
在键盘上输入两个一位数,在屏幕上显示它们的积。stack segment  db 200 dup(0)stack endscode segment  assume cs:code,ss:stackbegin: mov ah,1       int 21h   ;从键盘输入第一个数字al       mov bl,al       mov ah,2       mov dl,0dh       in
汇编语言——输入数字输出数字(个位数)
CODE SEGMENT ;ASSUME CS:CODE,DS:DATA start: mov ah,01H int 21H;等待键入,键入后把字符的ASCII码送AL mov dl,al;待显示字符的ASCII码要放到DL里 mov ah,02H int 21H; ;HLT mov ah,4CH int 21H CODE ENDS END ...
汇编语言第二次作业---菜单程序设计(附笔记)
程序目的: 包含开始菜单,开始菜单里提供三个选项 输入1: 输入一个x,计算y=5*x-18的值并输出y; 输入2: 输出一串字符,统计其中的大写字母、小写字母、数字的个数,分别输出 输入3: 结束程序 DATAS SEGMENT MESS0 DB 0AH,0AH,'1.Y=5X-18' DB 0AH,0AH,'2.DISTINGUISH' DB 0AH,...
8086汇编程序设计:对输入的十进制5位数求和输出
要求用户从键盘输入一个不超过5 位的整数,计算并输出该数的各位之和。要求:提示输入一十进制数;键盘输入,Enter键结束输入,并换行显示结果。在emu8086环境下成功运行DATAS SEGMENT STRING1 DB 0,0,'$';此处输入数据段代码 DATAS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS START: JU...
计算两个数的平均值
我们最直接的方法就是(a+b)/2 #define _CRT_SECURE_NO_WARNINGS 1 #include &amp;lt;stdio.h&amp;gt; #include &amp;lt;stdlib.h&amp;gt; int ave(int x, int y) { return (x + y) / 2; } int main() { int a, b = 0; printf(&quot;输...
汇编语言: 从键盘上输入一系列以$为结束符的字符串,然后对其中的非数字字符计数,
从键盘上输入一系列以$为结束符的字符串,然后对其中的非数字字符计数,并显示 计数结果。 data segment buf db 101,?,101 dup (?) data endsstack segment stack dw 20h dup(?) top label word stack endscode segment assume ds:data,cs:code,ss:stack
汇编程序:输入一个数并显示出现
code segment ;代码段定义开始 assume cs:code start: mov ah,1 int 21h mov dl,al;输入的数在al中,赋值到dl mov ah,2 ;调用2号功能调用输出字符 int 21h mov ah,4ch ;实现返回MOS-DOS窗口 int 21hcode e
8086汇编 计算输入两个十进制数之和用16进制输出//输入两个十六进制数之和用10进制输出
把两个题目放在了一起,输入H(D)+数字+空格+数字+空格就会看到和 可以参考输入示范的截图 输入H代表你输入16进制数,以10进制输出和 输入D代表你输入10进制数,以16进制输出和 此程序可以接受加数很大只要最后和在16位寄存器放得下就行 data segment;计算两个在和在65535内的十进制数或16进制数的和,这两个数最多可以是五位十进制数 db 10 dup(0);用
java语言实现最大公约数和最小公倍数
使用java语言实现输入两个数字对齐进行计算,并输出它两个的最大公约数和最小公倍数。
汇编:数字比较输出最大值
汇编语言中比较数字大小的问题 用到判断和循环 接受键盘输入的三个数字 然后将最大的输出。。有输入输出。。。
关于在汇编语言中,输入x,y,求并输出 Z =(X+20)/6 +Y 的值问题
书上的一道小练习题,记录一下我的解法,有不对的地方欢迎大佬来指正 DATAS SEGMENT X DB ? Y DB ? Z DB ? DATAS ENDS STACKS SEGMENT ;此处输入堆栈段代码 STACKS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKS START: MOV AX,D...
从键盘输入两个数,计算两个数的和,然后输出
简单的c语言编程,在同学们学习C语言的初期,还是很有帮助的
Shell 接收两个输入数并相加然后输出
  shell从键盘接收两个数,相加并输 在shell编程中,空格的作用是至关重要的,少一个都不行。 方法一:   #!/bin/bash read -p &quot;input x,y:&quot; x y z=$(expr $x + $y) echo &quot;sum is $z&quot;   方法二:   #!/bin/bash read -p &quot;input x,y:&quot; x y z=$(($x + ...
用Python写一段代码,实现接收用户输入两个的数字并输出数字相加后的结果,要求用户输入任何内容程序不会报错
分别采用基础方法和异常处理方法实现。 基础方法代码如下: num1 = input('请输入数字1:') if num1.strip() == '': print('输入错误。') exit() elif num1[0] != '.': for i in num1: if not('0' &amp;lt;= i &amp;lt;= '9' or i == '.'): ...
80x86汇编语言编程:三个数字进行比较
用汇编语言编写一个程序,从键盘接受三个10进制数(0到9,输入其它符号则输出错误提示)。把三个数字进行比较,三个数都不相等显示0,三个数中有两个不相等显示1,三个数都相等显示2。按照题目要求,做而论道编写的程序如下,已经调试成功:ASSUME CS:CODE, DS:DATA;------------------------------------------------------DATA SE
汇编语言:键盘录入8个16进制数,求出其中最大值并以16进制输出
要求:1.   掌握loop指令及循环程序设计方法。2.   掌握输入/输出代码编写。3.   学习移位指令的应用。代码:assume cs:codesg codesg segment ;键盘输入8个16进制数(每个数二进制8位,即16进制2位),求出其中最大值并以16进制输出 mov cx,8h mov bh,0 ;bh是最大值 s: mov ah,01h mov bl,0...
从键盘输入两个数字,之后完成两个整数的加法操作,不是数字提示错误信息
第一种方法,使用正则表达式 Scanner sc = new Scanner(System.in); String s = sc.next(); String s2 = sc.next(); if((s != null && s.matches("^[0-9]+$"))&&(s2 != null && s2.matches("^[0-9]+$"))){ System.out.printl
PTA 任意输入两个整数,计算它们之间的数字的累加和
例如输入1和100(或者100和1),输出5050。 #include &lt;stdio.h&gt; int sum(int x, int y); int main(void) { int x, y; scanf("%d %d", &amp;x, &amp;y); int he; he = sum(x, y); pr...
用汇编语言编写程序实现输入一个数n,输出n个“Hello World!”
作者:陈世佳  编写时间:2018-4-17方法如下:    步骤一:了解中断指令中断指令:INT 21H 功能号:01H 功能描述:从输入设备中接收一个值(使用ACSII编码接收数据)。 接收入口:接收到的值将被保存于AL中。 入口参数:AH=01H 出口参数:无     步骤二:了解循环指令L5:             ;定义循环名称及循环开始位置 //代码 LOOP L5...
汇编语言控制屏幕信息提示,然后输入数据的代码
编写8086/8088汇编语言源程序,在屏幕上显示提示信息“please input a number”。然后从键盘接收一个数字,第三行显示这个数字加一的数字。 以下程序供参考(输入数据不能超过4位) DATA SEGMENT prop DB 'please input a number',0dh,0ah,'$' DATA ENDS CODE SEGMENT ASSUME
80x86 汇编语言:输入字符串、显示其中数字
从键盘输入一个字符串,将其中的数字字符在下一行原样显示,而其他字符则不显示。题目链接:http://zhidao.baidu.com/question/2009606805191611028.html做而论道编程如下:    (2014-05-13 17:49 提问者采纳)ASSUME  CS:CC, DS:QQQQ  SEGMENT    STR   DB   100, ?, 100  DUP(
汇编语言输入字符,统计英文字母,数字,空格和其他字符,并输出显示。
使用软件:Masm for Windows 集成实验环境 2015 主要完成功能:输入随机个字符个数(最大98个,可调),统计字母,数字,空格,其他字符个数,统计好以后显示出来相应个数。 存在部分问题未找到解决办法,希望高人能请联系我,问题如下: 1.如果不输入任何字符,直接回车,会导致统计的字符的个数乱码; 2.宏定义: TONGJI MACRO X     .IF X&amp;gt;=65 ...
用80x86汇编语言:键入十个数,算出正数之和,并统计负数的个数
要求:键盘输入十个数,算出正数之和,并统计负数的个数。求完整程序。输入一个位数就行,用 80x86 汇编语言编程解决。题目链接:http://zhidao.baidu.com/question/751630813764675804.html---------------------------------程序编好了,如下:;================================ASSUM
实现从命令行参数输入两个字符串类型的数值,并计算输出两个数值的和。 [必做题]
import java.io.UnsupportedEncodingException; import java.util.Scanner; public class ZiFuChuanHe { public static void main(String[] args) throws UnsupportedEncodingException { Scanner s=new Scanne...
汇编语言:键盘录入五个整数,编程实现求和
要求:1.   查看CPU和内存,用机器指令和汇编指令编程,查看对应机器指令2.   学习编程,编译,连接,跟踪;3.   要求编译链接后用debug跟踪执行代码:assume cs:codesg codesg segment ;键盘输入5个8位的16进制数(每个数8位二进制,即2位十六进制),累加求和输出 和为16位 mov dx,0 ;这里存放累加和 mov cx,5h s...
汇编语言实验(三十一)之数字字符串加密与解密
输入一串数字,然后进行加密解密输出 程序运行:   代码: datas segment line_max_len db 0ffh line db 0, 100h dup(?) linesecret db 0, 100h dup(?) linedesecret db 0, 100h ...
汇编(实现32位 加法,并调用int 10h 输出结果)
定义双子类型:  A DD 21111112H  B DD 11111111H 上面的A和B都是32位,而ax,dx都是16位,所以需要把高16位和低16位分开进行加法。其中先处理低16位,用add。高16位可能会有进位,所以用adc。 A 32位数在内存中的表示 21 11 11 11 12 A+1即为 11,A+4即为21 至于输出,使用了xlat表,先自己建立...
【汇编】两个有符号十进制数相乘:从键盘输入两个有符号十进制数相乘,显示结果。
两个有符号十进制数相乘:从键盘输入两个有符号十进制数相乘,显示结果。 include io32.inc .data .code start: call readsid ;读取的整数存放在寄存器eax mov ebx,eax ; 把上一个读取的整数放到寄存器ebx call readsid ;再次读取一个整数 xor edx,edx ;将edx置0,以便检查是否乘法结果的高位是否存到edx中 imu...
汇编 两个数字相减 并且显示出来
汇编指令实现两个数字相减,通过汇编指令实现输出
汇编语言————实验2:多整数求和程序的编写
实验名称 多整数求和程序的编写 实验目的 熟悉汇编语言的基本指令和条件指令的使用,理解汇编程序中,如何实现高级语言中的条件语句。 实验要求 1) 编写多个整数求和的程序:对用户输入的多个整数进行求和,并输出结果。 阅读然后修改附录A中的求和程序(该程序实现了3个整数求和的功能),使用一个常量决定数组的大小(即程序最大可以求和的整数个数):           ARRAY_SIZE =...
汇编语言 实现两数相乘
汇编语言实现 两数相乘的程序 输入第一个数 再 输入第二个数 最后 两数相乘输出结果
汇编语言七 从键盘上读入一个正整数N(<=65535),转换成十六进制数存入AX,并在屏幕上显示出来。
1.题目要求: 从键盘上读入一个正整数N( 2.编写代码: STACK SEGMENT DW 100H DUP (?) TOP LABEL WORD STACK ENDS DATA SEGMENT N DW 0 F DB 0 T DB '0123456789ABCDEF' MSG0 DB 'INPUT:$' MSG1 DB 'R
汇编语言(二)字符及字符串输入输出与顺序程序设计实验
要求:从键盘输入两个一位十进制数,计算着两个数之和,并将结果在屏幕上显示出来。DATA SEGMENT INFOR1 DB &quot;Please Input the First Data(&amp;lt;10):$&quot; INFOR2 DB 0AH,0DH,&quot;Please Input the Second Data(&amp;lt;10):$&quot; INFOR3 DB 0AH,0DH...
输入两个数和运算符,进行运算并将结果显示出来。
条件分支的题目。 方法1first=eval(input('请输入第一个数字'))opa=(eval(input(&quot;请输入'+'、'-'、'*'、'/'&quot;)))second=eval(input('请输入第二个数字'))# 方法1if opa=='+':    print('%d+%d=%d'%(first,second,first+second))elif opa=='-':    print(...
用80x86汇编语言编程:键盘输入数组,再选择输出
从键盘输入9个十进制数(0~3位),数与数之间用空格隔开;再输入的一个序号(1-9),则输出对应的数。输入0结束。问题补充:输入的序号最好有提示,输出当然是十进制。| 2011-12-7 15:51 | 悬赏分:100 |;==============================================最佳答案:        2011-12-8 01:43 ;以上要求均已满足,程序如
相关热词 c#异步发送kafka c#窗体编号 c# 操作二进制文件 c# 反射 机制 c#线程 窗体失去响应 c#角度转弧度 c# 解析gps数据 c# vs设置 语法版本 c# json含回车 c#多线程demo