第三讲 汇编初步 课程随手记

一、寄存器

2109f4ba7f824d10b61da97c0f50ada7.png

 32位CPU通用寄存器如下图所示:

14dc1a6448e54ef8986cecddb3a5b922.png因为教材依照的是32位CPU寄存器,而我安装的是64位寄存器,所以找了一下64位的寄存器的资料

ff07f6b4dd5542ecbde937ca5627e4c0.png

 PS:一般来说,Intel处理器字节存储顺序为小端法存储,是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中

二、MOV指令

mov
指令在汇编中表示传送

 

movl
mov long ,传送字长 : 32位,把32位立即数放到寄存器

 

movw
mov word,传送 :16位;,把 16 位立即数放到寄存器的底16位,高16位清0

 

movb
mov byte,传送字节 :8位,把8位立即数放到寄存器

三、汇编调试案例

案例文件:1005.s

 .section .text    
   
 .global _start   
 _start:      
     nop
     movl $4, %eax  
     movl $1, %ebx  
     movl $5, %ecx  
     movl $13, %edx  
     movl %eax,%ebx
    
   
     movl $1, %eax  
     int $0x80  

(1)查看文件内容

cda1bc7793134cf4ae8deb443d8626e5.png

其中,cat -n表示查看文件内容,并在文件中显示行号。当然,换成vim也可以

(2)汇编、链接和执行

43f12ab7911249dba90580eb0cfb5fb7.png

-g表示产生调试信息

更多as命令内容见【Linux】一步一步学Linux——as命令(260)_linux as汇编教程-CSDN博客

(3)反汇编

001484782ad64c97b595a98e15a2b242.png

objdump -d表示反汇编应用程序 

更多objdump命令内容见Linux objdump命令(反汇编、查看符号)_objdump查看符号表-CSDN博客

(4)gdb调试

a0caeaff1e264d88b99d2e5ab746d646.png

67ceedc3454c4138870f09fb6e9e4386.png

gdb 1005 表示启动调试1005

 

b(break) 表示打断点

 

r(run) 表示运行

 

n(next) 表示执行下一行语句

 

i r 表示查看所有寄存器

 

i r $edx 表示查看edx寄存器的值

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

el-table 表格多选, 批量删除功能

一、基础的多选el-table ElementUI 提供了多选行table&#xff0c;同时若依框架也提供了成熟的多选表格。 1.table基础结构 需要绑定selection-change方法 <el-tablev-loading"loading"stripe:data"productList"selection-change"handleSelect…

常见的几种echarts类型

一&#xff1a;折线图 let option {tooltip: {},animation: false,grid: {top: "20%",bottom: "33%", //也可设置left和right设置距离来控制图表的大小left: 5%,right: 5%},xAxis: {boundaryGap:false,data: [1,2,3,4,5],axisLine: {show: true, //隐藏X轴…

【常见索引使用】⭐️Mysql中索引的类型以及使用方式和失效场景

目录 一、前言 二、数据准备 三、索引的分类 四、索引示例 示例1、主键索引&#xff08;Primary Key Index&#xff09;与 唯一索引&#xff08;Unique Index&#xff09; 示例2、前缀索引&#xff08;Prefix Index&#xff09; 示例3、联合索引&#xff08;复合索引&am…

智能驾驶规划控制理论学习07-规划算法整体框架

一、解耦合策略 1、路径-速度解耦策略概述 路径-速度解耦指的是将车辆的运动分成路径规划和速度规划两部分&#xff0c;对两个部分分别进行研究。 路径规划&#xff1a; 假设环境是“静态的”&#xff0c;将障碍物投射到参考路径上&#xff0c;并规划一条避开它们的路径&…

2024年【安全员-C证】找解析及安全员-C证模拟考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 安全员-C证找解析是安全生产模拟考试一点通总题库中生成的一套安全员-C证模拟考试&#xff0c;安全生产模拟考试一点通上安全员-C证作业手机同步练习。2024年【安全员-C证】找解析及安全员-C证模拟考试 1、【多选题】…

第十二篇 - IAB 标准技术条款和定义-我为什么要翻译介绍美国人工智能科技巨头IAB公司?

前言 这是2021年IAB公司发布的《市场营销人工智能使用案例及最佳实践报告》的最后一篇译文。翻译工作不难&#xff0c;但是非常考验一个人的态度&#xff0c;需要译者忠于自己的初心&#xff0c;严谨对待所有文字、数据、信息、技术和观点。时代变化如此之快&#xff0c;3年前…

【小黑嵌入式系统第十八课】结课总结(二)——软件部分(系统架构调试测试运行系统软件设计)

上一课&#xff1a; 【小黑嵌入式系统第十七课】结课总结&#xff08;一&#xff09;——硬件部分&#xff08;系统&总线&处理器&外设&通信&#xff09; 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分…

js节点操作

js节点操作 一.DOM节点二.查找节点三.增加节点3.1.创建节点3.2.追加节点3.3.克隆节点 四. 删除节点 一.DOM节点 DOM树里每一个内容都称之为节点 节点类型&#xff1a;元素节点&#xff08;所有的标签 比如 body&#xff0c;div等&#xff0c;html 是根节点&#xff09; 属性节…

前缀和+哈希表:联手合击Leetcode 560.和为k的子数组

题目 给你一个整数数组 nums 和一个整数 k &#xff0c;请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续非空序列。 示例 1&#xff1a; 输入&#xff1a;nums [1,1,1], k 2 输出&#xff1a;2示例 2&#xff1a; 输入&#xff1a;nums [1,2…

C++指针(四)

个人主页&#xff1a;PingdiGuo_guo 收录专栏&#xff1a;C干货专栏 前言 相关文章&#xff1a;C指针&#xff08;一&#xff09;、C指针&#xff08;二&#xff09;、C指针&#xff08;三&#xff09; 本篇博客是介绍函数指针、函数指针数组、回调函数、指针函数的。 点赞破六…

YOLOSHOW - YOLOv5 / YOLOv7 / YOLOv8 / YOLOv9 基于 Pyside6 的图形化界面

YOLOSHOW 是一个基于 PySide6&#xff08;Qt for Python&#xff09;开发的图形化界面应用程序&#xff0c;主要用于集成和可视化YOLO系列&#xff08;包括但不限于YOLOv5、YOLOv7、YOLOv8、YOLOv9&#xff09;的目标检测模型。YOLOSHOW 提供了一个用户友好的交互界面&#xff…

遥感分析时什么情况下需要做大气校正?

经常会遇到这样的问题&#xff1a;什么情况需要做大气校正产生&#xff1f;这个问题取决于传感器和应用目标&#xff0c;总的来说&#xff0c;如果要做光谱分析&#xff0c;那么大气校正是必须要做的。本文对于在什么情况下选择什么样的大气校正方法&#xff0c;给出了一些依据…

算法48:动态规划专练(力扣221:最大正方形面积)

题目&#xff1a; 在一个由 0 和 1 组成的二维矩阵内&#xff0c;找到只包含 1 的最大正方形&#xff0c;并返回其面积。 示例 1&#xff1a; 输入&#xff1a;matrix [["1","0","1","0","0"],["1","0&quo…

MySQL下实现纯SQL语句的递归查询

需求 有一个部门表&#xff0c;部门表中有一个字段用于定义它的父部门&#xff1b; 在实际业务中有一个『部门中心』的业务&#xff1b; 比如采购单&#xff0c;我们需要显示本部门及子部门的采购单显示出来。 结构 数据如下&#xff1a; 实现方式如下&#xff1a; WITH RECUR…

打造智慧足球社区:Java+SpringBoot实战

✍✍计算机毕业编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java、…

【vue3之组合式API及其新特性】

组合式API及其新特性 一、setup1.写法2.如何访问3.语法糖4.同步返回对象 二、reactive()和ref()1.reactive()2.ref() 三、computed四、watch函数1.侦听单个数据2.侦听多个数据3. immediate4. deep5.精确侦听对象的某个属性 五、生命周期函数六、组件通信1.父传子2. 子传父 七、…

vue 总结

1.vue 的生命周期 1. es6 2. vue 基本属性指令 <template><div><!--<h1>vue基本指令的使用方式</h1><a :href"url">v-bind使用链接</a><img :src"srcUrl" /><div>解决闪烁问题<p v-cloak>{{…

【word】引用文献如何标注右上角

一、在Word文档中引用文献并标注在右上角的具体步骤如下 1、将光标移动到需要添加文献标注的位置&#xff1a; 2、在文档上方的工具栏中选择“引用”选项&#xff1a; 3、点击“插入脚注”或“插入尾注”&#xff1a; ①如果选择的是脚注&#xff0c;则脚注区域会出现在本页的…

Object.keys()的用法

1、语法 Object.keys(obj) 参数&#xff1a;要返回其枚举自身属性的对象 返回值&#xff1a;一个表示给定对象的所有可枚举属性的字符串数组 2、处理对象&#xff0c;返回可枚举的属性数组 let person {name:“张三”,age:25,address:“深圳”,getName:function(){}} Obj…

管理 PostgreSQL 中配置参数的各种方法

管理 PostgreSQL 中配置参数的各种方法 1. 概述 PostgreSQL提供了一个配置文件 postgresql.conf 让用户自定义参数。您可能需要更改一些参数来调整性能或在工作环境中部署 PostgreSQL 服务器。在这篇博文中&#xff0c;我们将探索管理这些参数的不同方法。 2. 以不同方式管理…