汇编基础练习题13:在数据区定义一个字型变量a1,a1中有10个元素,利用7中的输入子程序输入10个整数,然后把这些整数依次存放到数据区的a1变量中。
2018-12-29 23:14
441 查看
汇编基础练习题13:
在数据区定义一个字型变量a1,a1中有10个元素,利用7中的输入子程序输入10个整数,然后把这些整数依次存放到数据区的a1变量中。
编译工具:Masm for Windows 集成实验环境2012.5
(附带一个工具下载地址https://download.csdn.net/download/qq_36931762/10825773
有需要可以去下载)
代码思路:
---------------------------------------可爱的代码区别线----------------------------------
DATAS SEGMENT ;此处输入数据段代码 a1 DW 10 DUP(0) 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 MOV SI,OFFSET A1 MCIN: CMP BX,20 JE MEN CALL PIN MOV [SI+BX],AX ;输出回车部分,回车表示那个退格 MOV DL,0DH MOV AH,02H INT 21H MOV DL,0AH;输出换行 MOV AH,02H INT 21H MOV AX,[SI+BX] CALL PRINTAX ADD BX,2 ;输出回车部分,回车表示那个退格 MOV DL,0DH MOV AH,02H INT 21H MOV DL,0AH;输出换行 MOV AH,02H INT 21H JMP MCIN MEN: MOV AH,4CH INT 21H PIN PROC PUSH BX PUSH CX PUSH DX MOV CX,0 MOV DL,10 CIN: MOV AH,1 INT 21H SUB AL,48 MOV AH,0 MOV BX,AX MOV AX,CX CMP BX,9 JA EN CMP BX,0 JB EN MUL DL ADD AX,BX MOV CX,AX JMP CIN EN: POP DX POP CX POP BX RET PIN ENDP PRINTAX PROC PUSH BX PUSH CX PUSH DX MOV BL,10 MOV CL,0 CMP AX,10 JB PRINTF W: DIV BL PUSH AX INC CL MOV AH,0 CMP AX,0 JA W p: POP DX DEC CL MOV DL,DH ADD DL,48 MOV AH,2 INT 21H CMP CL,0 JNE P POP DX POP CX POP BX RET PRINTF: MOV DL,AL ADD DL,48 MOV AH,2 INT 21H POP DX POP CX POP BX RET PRINTAX ENDP CODES ENDS END START
--------------------------------------------代码区别线----------------------------------
输出结果:
看不懂欢迎提问啦,也欢迎提出我代码中的问题和提出代码优化方案,大家一起学习嘛。
原创看过随手点个赞吧!(虽然我也不太知道点赞有啥用emmm给点鼓励总是好的)嘻嘻
相关文章推荐
- 3. 定义10个字节的键盘缓冲区,然后键盘输入字符填满该缓冲区,做如下工作: (1)分别将输入键盘缓冲区的字符按数字,小写字母,大写字母,其他字符进行计数; 分别将这些计数值显示出来。 (2)分别将这
- C#基础-033 创建一个学员类,并设计三个字段用于表示学生的成绩(语文、数学、英语);然后定义一个数组表示一个班的学生(10人),依次输入每个学生的信息和成绩,输入的同时将学员的每科成绩划分等级
- 定义一个int型的一维数组,包含10个元素,分别赋一些随机整数,然后求出所有元素的最大值,最小值,平均值,和值,并输出出来。
- 数组查找操作:定义一个长度为10 的一维字符串数组,在每一个元素存放一个单词;然后运行时从命令行输入一个单词,程序判断数组是否包含有这个单词
- 输入字符串,内有数字和非字符数组,例如A123x456将其中连续的数字作为一个整数,依次存放到一个数组中,如123放到a[0],456放到a[1],并输出a这些数
- 定义一个int型的一维数组,包含10个元素,分别赋一些随机整数,然后求出所有元素的最大值,最小值,平均值,和值,并输出出来。
- 利用C语言来实现交换两个变量的值,由终端输入两个整数给变量x、y,然后交换x和y的值后,输出x和y。 有不同的方法
- 输入一个字符串,内有数字和非数字字符,将其中连续的数字作为一个整数,依次存放到一数组a中。统计共有多少个整数,并输出这些数。
- 定义一个整数N,不用本地变量和循环,输入N,依次判断2N,4N,8N...,一旦大于5000,则倒序输出小于5000的那些数(...,8N,4N,2N,N)
- 黑马程序员之C#编程基础学习笔记:提示用户输入两个整数(假设i1,i2)。如果i1,i2都是正数,则将i2的值递增一个数,然后打印i1+i2的值;如果i1,i2都是负数,则将i1的值递减10个数,然后
- Java入门学习练习题(二):寻找一组整数中的最大值与最小值。输入格式:首先输入N,表示这组整数的个数。然后依次输入N个整数。
- Java编程:定义一个int型的一维数组,包含10个元素,分别赋一些随机整数,然后求出所有元素的最大值,最小值,平均值,和值,并输出出来。
- 习题 8.16 输入一个字符串,内有数字和非数字字符,将其中连续的数字作为一个整数,依次存放到一数组a中。统计共有多少个整数,并输出这些数。
- 【1】 设一个长度为10的整型数组,  0)要求每个元素的值通过scanf输入,输入完成后,  1)请顺序输出这些整数,  2)请倒序输出这些整数,  3)输出这些数中的最大值,最小值
- 采用指针访问方式从键盘给数组a[N]输入数据,然后对元素值重新按逆序存放并输出 .
- 定义一个int型的一维数组,包含10个元素,分别赋值为1~10, 然后将数组中的元素都向前移一个位置,
- Java-第三章-从键盘输入3个整数,然后将输入的整数按照从小到大的顺序放在abc,并输出3个变量的值
- 【数组】随机生成有10个元素数组a1,然后将a1拷贝到有15个元素的数组中,然后打印出来
- 建立一个线性表,依次从键盘输入的正整数,然后依次输出(一个简单参考事例)
- 在一个长度为10的整形数组中,已经放置好了任意10个整数。要求用户任意输入 一个整数,判断该数字是否在数组中。如果在,删除数组中该元素,并把后面的 元素往前挪。(让空出的位置在最后)