“C语言” 读书札记(五)之[让我们一起学习汇编吧!(段)]
有了这样的模板,就准备好了开始编写汇编语言程序。
1 .section .data2 output:3 .ascii "hello,world\n"4 5 .section .text6 .globl _start7 _start:8 movl $4, %eax9 movl $1, %ebx 10 movl $output, %ecx 11 movl $13, %edx 12 int $0x80 13 14 #success exit 15 movl $1, %eax 16 movl $0, %ebx 17 int $0x80
汇编并且链接这个过程
NOTE用.data数据段定义的任何数据元素可以按照读取和写入模式访问。用.rodata数据段定义的任何数据元素只能按照只读(read-only)模式访问。——因此使用ro前缀。
内存分布图
观察
按照数据段中定义数据元素的顺序,每个数据元素被存放到内存中。带有多个值的元素按照命令中列出的顺序存放(如msg和length)。
NOTE.equ命令可以出现在数据段的任何位置,但是为了方便阅读,最好集中定义在最前或最后。
以上两种都是定义在数据段中,这也是在汇编中经常使用的方法。下面介绍另外一种段声明——bbs段。
机器指令展开来讲,就是机器可以正确执行的命令。
电子计算机的机器指令是一列二进制的数字,计算机将指令转变为一列高低电平,以使计算机的电子器件受到驱动,进行运算。CPU是计算机的核心部件,控制整个计算机的运作并进行运算。1、地址总线的宽度决定了CPU的寻址能力;2、数据总线的宽度决定了CPU与其他器件进行数据传送时的一次数据传送量。3、控制总线的宽度决定了CPU对系统中其他器件的控制能力。单元换算:1B = 8b 1KB = 1024B 1MB = 1024KB 1GB = 1024MB
转载于:https://www.cnblogs.com/baochuan/archive/2012/06/28/2564489.html
“C语言” 读书札记(五)之[让我们一起学习汇编吧!(段)]相关推荐
- 51C语言编译后执行到一半,“C语言” 读书札记之[再续编译执行]
介绍 上一篇a.out(hello,world程序)执行之后发生了什么?这次通过系统硬件和操作做粗略的描述,这样对我们也是有一些帮助的. 如果中间若有误,请不吝赐教. 从键盘上读取a.out命令 当我 ...
- 2021年大数据常用语言Scala(五):基础语法学习 字符串
字符串 scala提供多种定义字符串的方式,将来我们可以根据需要来选择最方便的定义方式. 使用双引号 使用插值表达式 使用三引号 使用双引号 语法 val/var 变量名 = "字符串&qu ...
- 读书札记:音律的基本类型
读书札记:音律的基本类型 2010年08月22日 音律的基本类型有:双声.叠韵.叠音.叠字.平仄.和押韵. 1.双声:是两个字声母相同的语音状况.如:"爱而不见,搔首踟蹰."(&l ...
- 东写西读:《瓦尔登湖》读书札记(一)
东写西读:<瓦尔登湖>读书札记(一) --其实,无论什么书都是第一人称在发言,我们却常把这点忘掉了. 人总是太容易忘记自己说话所站的立场,同时又因为人总是习惯站在自己的立场,所以就造成了自 ...
- R语言入门第五集 实验四:数据分析
R语言入门第五集 实验四:数据分析 一.资源 [R语言]R语言函数练习--东北大学大数据班R实训第四次作业 R语言:常用apply函数(apply,tapply,sapply,lapply)用法介绍 ...
- 大连理工大学c语言第三次上机作业答案,大连理工大学软件学院C语言上机第五六章课后题...
大连理工大学软件学院C语言上机第五六章课后题 五.1. #includeint main() { int a,b,c; float X,Y,Z; scanf("%d%d%d",&a ...
- c语言实验报告5数组,c语言实验报告五一维数组.doc
c语言实验报告五一维数组 <C程序设计>课程实验报告 学院: 班级: 姓名: 学号: 实验设备:计算机1台2011年3月1日 实验项目名称一维数组 掌握一维数组的定义.初始化,以及一维数组 ...
- c语言作业题五六章答案,数据结构(C语言版)第五六章习题答案
数据结构(C语言版)第五六章习题答案,人民邮电出版社,答案很详细. (15)设F是一个森林,B是由F变换得的二叉树.若F中有n个非终端结点,则B中右指针域为空的结点有( )个. A. n-1 B.n ...
- c语言实验五函数答案,C语言程序设计实验五 参考答案.doc
C语言程序设计实验五 参考答案 实验5 函数(1)参考答案 5-1.以下程序的功能:从键盘输入两个数,计算出他们的和,并将结果输出在屏幕上.调试运行程序,观察出现了什么错误,提出修改方案. 答案: # ...
最新文章
- 【如何快速的开发一个完整的iOS直播app】(美颜篇)
- 一个「菜鸟」转行AI的成长心得!
- 盘点2015年数据中心领域十大SDN市场领导者
- [bzoj3489]A simple rmq problem
- shell脚本如何优雅的打印帮助信息
- 25 PP模块-创建工厂日历报错-请输入年度xxxx和xxxx之间的有效区域
- 实践:在运维大数据这事上,Apache Kylin比ELK更擅长?
- mac下安装配置nginx环境
- 运维讨厌流浪地球的原因
- 关于圆与直线所包含点的多少关系证明
- 使用struts框架的简单jsp登录页面
- windows下载安装cmake
- 旋转矩阵与四元数的理解
- 王家林老师 大数据学习之路
- POJ 3026 Borg Maze(BFS+最小生成树)
- 2019下半年第一个流行词---宏颜获水
- 软硬结合——写给硬件开发工程师的全栈入门实战
- matlab trapz二重积分函数_如何使用 MATLAB 求解定积分、不定积分和多重积分问题...
- 小记--------hbase数据库java API 常用方法及案例
- C++ STL之set详解
热门文章
- C++ Qt学习笔记(2)简易计算器设计(为计算器添加菜单功能)
- c++数据结构与算法 图
- 室内声场计算机模拟的声线跟踪法和虚声源法,基于声线跟踪法的室外声场仿真.doc...
- 下三角矩阵的逆矩阵_上三角或下三角矩阵的逆矩阵能否简便方法求出??只有主副对角线不为0的矩阵能否直接写出逆矩阵。...
- 解决bert在文本长度的问题的方案,篇章级
- SAP License:段的含义
- SAP License:如何取消物料帐的激活
- Apache Kylin 与 ClickHouse 的对比
- 机器学习:神经网络的模型构建
- js获取jsp上下文地址