简单汇编教程10 数组

news2024/10/23 12:39:28

目录

实践:相加连续的数


数组是在内存中连续的一串变量。我这样说,可能你已经想到的大致的定义了:

NUMBERS DW  34,  45,  56,  67,  75, 89

现在我们就定义了一个Number数组,里面存放的连续的六个数字:34, 45, 56, 67, 75, 89。回忆我们处理字符串的方式,拿到第N个字符的位置是取出偏移地址量N - 1个元素大小

mov ax, [NUMBERS + 2]

取出了第三个元素56来。就是这个意思。

当然,有人可能希望写出

int all_zero[8] = {0}; // 全部为0

的等效代码,可以定义:

all_zero    DW  0
            DW  0
            DW  0
            DW  0
            DW  0
            DW  0
            DW  0
            DW  0

太麻烦了,其实这样:

all_zero   DW  0, 0 , 0 , 0 , 0 , 0 , 0 , 0

或者使用TIMES指令:

all_zero TIMES 8 DW 0

是比较常见的定义数组的方式。

实践:相加连续的数

内存中设定连续的数字1,2,3,对他们做相加而且打印出来

charliechen@Charliechen:~/demo/demo12$ ./result 
6

效果如上即可!不需要提示!

; --------------------------------------------------
;   Program written in 10.20 2024
;   Author:             Charlie chen
;   Functionality:      Add Continious number
; --------------------------------------------------
​
section .data
    SOURCE  db 1, 2, 3
    SUM     db 0
​
section .text
    global _start
_start:
    xor eax, eax
    mov ecx, 3
do_add:
    add eax, [SOURCE + ecx - 1]
    loop do_add             ; loop promised the auto decline of cx
    or al, 0x30
    mov [SUM], al
    mov edx, 1
    mov ecx, SUM
    mov ebx, 1
    mov eax, 4
    int 0x80
​
    mov ebx, 0
    mov eax, 1
    int 0x80

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2221578.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java最全面试题->Java基础面试题->JavaEE面试题->Web应用服务器面试题

文章目录 Web应用服务器面试题Tomcat是什么?Tomcat缺省端口是多少,如何修改?Tomcat 有那几种Connector 运行模式?什么是Servlet?Servlet请求过程?Tomcat执行流程?Tomcat部署方式?什么是JBoss ?在JBoss 7…

数据结构与算法:贪心算法与应用场景

目录 11.1 贪心算法的原理 11.2 经典贪心问题 11.3 贪心算法在图中的应用 11.4 贪心算法的优化与扩展 总结 数据结构与算法:贪心算法与应用场景 贪心算法是一种通过选择当前最佳解来构造整体最优解的算法策略。贪心算法在很多实际问题中都取得了良好的效果&am…

双十一母婴必买清单 推荐超实用母婴用品

随着双十一购物狂欢节的临近,无数准父母和年轻家长开始摩拳擦掌,准备为家中的小宝贝抢购一系列高品质、实用的母婴用品。在这个年度最大的电商促销活动中,选择对的产品不仅能够节省开支,更能确保宝宝的健康成长与舒适生活。以下是…

告别微信封号!学会这5招,让你的账号坚不可摧

在这个信息爆炸的时代,无论是工作沟通、社交互动还是获取信息,微信都扮演着极其重要的角色。但是,随着微信平台规则的日益严格,账号被封的风险也随之增加。今天,我们就来聊聊如何有效防止 微信被封,让你的账…

Java基于SSM微信小程序物流仓库管理系统设计与实现(源码+lw+数据库+讲解等)

选题背景 随着社会的发展,社会的方方面面都在利用信息化时代的优势。互联网的优势和普及使得各种系统的开发成为必需。 本文以实际运用为开发背景,运用软件工程原理和开发方法,它主要是采用java语言技术和mysql数据库来完成对系统的设计。整个…

搞错了,再来!谷歌利用AI重新推出全新的Google Shopping

近年来,随着电子商务的迅猛发展,消费者对个性化和便捷购物体验的需求愈发高涨。谷歌,作为互联网巨头之一,一直在不断探索和创新,它一直在应对这样一个事实:越来越多的消费者首先访问零售商的网站&#xff0…

jmeter正则表达式教程

正则表达式用于提取相应数据中的代码、文本等数据,利用正则表达式,提取响应数据,移植到下一线程组的参数中,从而进行测试。 一、解释:解释很多,但是最关键 (1)注释不多说&#xff0c…

实验干货|电流型霍尔传感调理电路设计01

在做逆变器实验时,需要测量逆变器输出电压以及电流。作为初学者,因为缺乏经验也踩过不少坑,写一篇博客记录下来希望能帮到跟我一样的初学者。 踩坑回顾 用什么采样?片内ADC还是片外ADC? 早前,在用RTLAB做…

51单片机快速入门之 LCD1602 液晶显示屏2024/10/19

51单片机快速入门之 LCD1602 液晶显示屏 Proteus 电路图 : 74HC595 拓展电路可以不用,给 p0-p17 添加上拉电阻也可以!,我这里是方便读取和节省电阻线路 (因为之前不知道 在没有明确循环的情况下,Keil编译器可能会在main()中自动添加类似以下的汇编代码&#xff1a…

手机淘宝自动下单退货自动化RPA脚本机器人

使用手机集线器连接多个手机并发运行。 脚本分3个部分(读取本地连接下单,退货获取退货地址信息,填写快递单号) 脚本部分图结构看下面的图片 部分数据统计展示

ORACLE SELECT INTO 赋值为空,抛出 NO DATA FOUND 异常

例子: DECLARE ORDER_NUM VARCHAR2(20); BEGIN SELECT S.ORDER_NUM INTO ORDER_NUM FROM SALES_ORDER S WHERE S.ID122344; DBMS_OUTPUT.PUT_LINE(单号: || ORDER_NUM); END; 在查询结果为空的情况下,以上代码会报错:未找到任何数据 解决方…

1024程序员节探讨<程序员的人生观和价值观>

程序员的人生观和价值观 程序员的人生观和价值观往往受到其职业特性和工作环境的影响,但也会因个体差异而有所不同。 人生观 持续学习与成长: 程序员通常认识到技术的快速发展,因此他们倾向于保持一种持续学习和自我提升的态度。他们可能将…

全网最详细图文测评!Stability.AI 发布 SD3.5 Large 模型,能否逆风翻盘超越FLUX?

原文链接:全网最详细图文测评!Stability.AI 发布 SD3.5 Large 模型,能否逆风翻盘超越FLUX? (chinaz.com) SD3.5 的前世今生 6 月的时候,Stability AI发布了 Stable Diffusion 3 Medium,但是在在 FLUX 发布…

FPGA学习(7)-线性序列机原理与应用,不同类型的LED控制开关

目录 1.实现1 2.实现2 2.1方法1 2.2方法2 3.实现3 3.1实验现象 4.实现4 4.1分析 4.2实现过程 4.2.1 counter的计数 4.2.2 en_counter2的判断 4.2.3 en_counter0的判断 4.2.4 对case语句加判断条件 4.3仿真结果 ​编辑 4.4实验现象 1.实现1 1.实现以下图示功能…

qt QBuffer详解

QBuffer 是 Qt 提供的一个类,用于在内存中操作二进制数据。它是 QIODevice 的一个子类,允许你将数据读入和写出到一个内存缓冲区,而不需要与文件系统交互。 常用方法 构造函数: QBuffer(QObject *parent nullptr): 创建一个空的 QBuffer 对象…

vue项目启动报错:exit status 1

vue项目启动报错:(vite构建) npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! Exit status 1 如下图所示: 解决 检查node版本,Vite 需要 Node.js 版本 18 或 20 我之前是 14.16.1,更换成 20.0.0 就可…

Flink 06 聚合操作入门学习,真不难

抛砖引玉 让你统计1小时内每种商品的销售额,用Flink 该怎么实现。 还是让你统计1小时内每种商品的销售额,但是要过滤掉退款的订单,用Flink 该怎么实现。 学了本文两个操作,不信你还不会。 AggregateFunction ❝ 通常用于对数据…

【决策树】- 二分法处理连续值

二分法处理连续值 在决策树算法中,处理连续特征通常采用二分法,将其转化为离散特征。此方法通过寻找最佳分割点,将连续特征划分为两个区间。 1. 原理 二分法的核心思想是将连续值特征转换为离散值,以便于决策树的构建。通过选择…

[Linux#67][IP] 报头详解 | 网络划分 | CIDR无类别 | DHCP动态分配 | NAT转发 | 路由器

目录 一. IP协议头格式 学习任何协议前的两个关键问题 IP 报头与有效载荷分离 分离方法 为什么需要16位总长度 如何交付 二. 网络通信 1.IP地址的划分理念 2. 子网管理 3.网络划分 CIDR(无类别域间路由) 目的IP & 当前路由器的子网掩码 …

R语言机器学习算法实战系列(九)决策树分类算法 (Decision Trees Classifier)

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍教程下载数据加载R包导入数据数据预处理数据描述数据切割调节参数构建模型模型的决策树预测测试数据评估模型模型准确性混淆矩阵模型评估指标ROC CurvePRC Curve特征的重要性保存模…