汇编语言——正数数组P和负数数组N
问题描述
试编写一完整的汇编语言程序,将一个包含有20个数据的数组M分成两个数组:正数数组P和负数数组N,并分别求出这两个数组中数据的个数。
解决方案
DSEG SEGMENT
COUNT EQU 20
ARRAY DW 20 DUP (?) ;存放数组
COUNT1 DB 0 ;存放正数的个数
ARRAY1 DW 20 DUP (?) ;存放正数
COUNT2 DB 0 ;存放负数的个数
ARRAY2 DW 20 DUP (?) ;存放负数
ZHEN DB 0DH, 0AH, ‘The positive number is:’, ‘$’ ;正数的个数是:
FU DB 0DH, 0AH, ‘The negative number is:’, ‘$’ ;负数的个数是:
CRLF DB 0DH, 0AH, ‘$’
DSEG ENDS
CSEG SEGMENT
MAIN PROC FAR
ASSUME CS: CSEG, DS: DSEG
START: PUSH DS ;设置返回DOS
SUB AX, AX
PUSH AX
MOV AX, DSEG
MOV DS, AX ;给DS赋值
BEGIN: MOV CX, COUNT
LEA BX, ARRAY
LEA SI, ARRAY1
LEA DI, ARRAY2
BEGIN1: MOV AX, [BX]
CMP AX, 0 ;是负数码?
JS FUSHU
MOV [SI], AX ;是正数,存入正数数组
INC COUNT1 ;正数个数+1
ADD SI, 2
JMP SHORT NEXT
FUSHU: MOV [DI], AX ;是负数,存入负数数组
INC COUNT2 ;负数个数+1
ADD DI, 2
NEXT: ADD BX, 2
LOOP BEGIN1
LEA DX, ZHEN ;显示正数个数
MOV AL, COUNT1
CALL DISPLAY ;调显示子程序
LEA DX, FU ;显示负数个数
MOV AL, COUNT2
CALL DISPLAY ;调显示子程序
RET
MAIN ENDP
DISPLAY PROC NEAR ;显示子程序
MOV AH, 9 ;显示一个字符串的DOS调用
INT 21H
AAM ;将(AL)中的二进制数转换为二个非压缩BCD码
ADD AH, ‘0’ ;变为0~9的ASCII码
MOV DL, AH
MOV AH, 2 ;显示一个字符的DOS调用
INT 21H
ADD AL, ‘0’ ;变为0~9的ASCII码
MOV DL, AL
MOV AH, 2 ;显示一个字符的DOS调用
INT 21H
LEA DX, CRLF ;显示回车换行
MOV AH, 9 ;显示一个字符串的DOS调用
INT 21H
RET
DISPLAY ENDP ;显示子程序结束
CSEG ENDS ;以上定义代码段
END START
汇编语言——正数数组P和负数数组N相关推荐
- 数组的正负数分割排序
描述 设任意n个整数存放于数组A[1..n]中,试编写算法,将所有正数排在所有负数前面(要求:正(负)数序列中数的相对顺序不变,算法时间复杂度为O(n)). 输入 多组数据,每组数据有两行,第一行为数 ...
- 学习-Java数组之foreach遍历数组之正负数数量统计
第1关:学习-Java数组之foreach遍历数组之正负数数量统计 任务描述 相关知识 foreach 语句 编程要求 测试说明 任务描述 本关任务:使用 foreach 语句统计数组中正负数的个数. ...
- 返回一个一维整数数组中最大子数组的和02
一,要求 输入一个一维整形数组,数组里有正数也有负数. 一维数组首尾相接,象个一条首尾相接带子一样. 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和. 求所有子数组的和的最大值 二,设 ...
- 求数组的最大子数组和最大子数组的和
输入一个整形数组,数组里有正数也有负数. 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和. 求所有子数组的和的最大值.要求时间复杂度为O(n). 例如输入的数组为1, -2, 3, 1 ...
- nyoj983 首尾相连数组的最大子数组和
首尾相连数组的最大子数组和 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 给定一个由N个整数元素组成的数组arr,数组中有正数也有负数,这个数组不是一般的数组,其首尾是 ...
- php新增数组函数,php操作数组函数
整理了一份PHP开发中数组操作大全,包含有数组操作的基本函数.数组的分段和填充.数组与栈.数组与列队.回调函数.排序.计算.其他的数组函数等. 一.数组操作的基本函数 数组的键名和值 array_va ...
- 结对开发——环形一维数组求最大子数组和
题目:返回一个整数数组中最大子数组的和. 要求: (1)输入一个整形数组,数组里有正数也有负数. (2)数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和. (3)如果数组A[0]--A[ ...
- 课堂练习:返回一个二维数组中最大子数组的和
1.题目: 返回一个二维数组中最大子数组的和. 2.要求: 输入一个二维整形数组,数组里有正数也有负数. 二维数组首尾相接,象个一条首尾相接带子一样. 数组中连续的一个或多个整数组成一个子数组,每个子 ...
- Java数组与容器类分析资料--数组、List和Set、Map等
2019独角兽企业重金招聘Python工程师标准>>> Java容器分析--数组 数组是Java语言内置的类型,除此之外,Java有多种保存对象引用的方式.Java类库提供了一套相当 ...
最新文章
- redis client 2.0.0 pipeline 的list的rpop bug
- 洛谷P4513 小白逛公园
- JVM 史上最最最完整知识总结!
- 屌丝。。。配角。。。
- 左侧固定,右侧自适应的布局方式(新增评论区大佬教的方法)
- jmp、JE、JZ、JNE、JNT指令
- py程序员写代码的习惯养成 防止想到什么写什么
- 让电脑说话代码_让您的代码为您说话
- LongAdder原理
- TIT 数据库实验一 在SQL Server中创建数据库(SQL入门教学一 从0到1)
- 电脑无线网络(WiFi)密码查看(cmd命令控制符)
- javascript 获取汉字笔画拼音,使用笔画排序
- JAVA学习笔记JEECG BOOT介绍
- Vert.x ——概述
- python是面向对象开发_Python之面向对象
- linux的passive用法,get的被动用法(get-passive)
- “无剑胜有剑”软件大师之路的一点探索
- 使用PuTTY连接远程Linux服务器
- Android LottieAnimation使用---踩坑篇
- 【杂货铺】金融机构分类
热门文章
- 【转】Scott_ASP.NET MVC框架(第三部分) 把ViewData从控制器传到视图
- linux缓存文件地址,如何遍历linux内核中的文件地址空间的页面缓存树(基数树)
- java 字节取位_java位 、字节 、字符的梳理
- 计算机科学与编程基础,国外经典教材·计算机科学与技术:Oracle 10g编程基础
- 我是学计算机的上银行考什么条件,计算机专业能报考银行哪些岗位
- 容器部署不适合文件服务器,建议使用内置容器部署War文件与可执行jar
- nfine框架 上传文件_网站服务器Nginx运行环境,后台文件上传超出Nginx的最大值...
- 八十七、Python | 十大排序算法系列(上篇)
- tensorflow笔记
- 【机器学习】银行贷款违约预测