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

news2025/1/19 12:17:48

一、寄存器

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寄存器的值

 

 

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

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

相关文章

JavaScript极速入门(1)

初识JavaScript JavaScript是什么 JavaScript(简称JS),是一个脚本语言,解释型或者即时编译型语言.虽然它是作为开发Web页面的脚本语言而著名,但是也应用到了很多非浏览器的环境中. 看似这门语言叫JavaScript,其实在最初发明之初,这门语言的名字其实是在蹭Java的热度,实际上和…

Vue2+ElementUI下拉、Select组件的封装

Vue2ElementUI下拉、Select组件的封装:引言 在 Vue2 项目中,ElementUI 的 el-select 组件是常用的下拉选择框组件。它提供了丰富的功能和样式,可以满足各种需求。但是,在实际开发中,我们经常会遇到一些重复性的需求&a…

男人的玩具系统wordpress外贸网站主题模板

垂钓用品wordpress外贸模板 鱼饵、鱼竿、支架、钓箱、渔线轮、鱼竿等垂钓用品wordpress外贸模板。 https://www.jianzhanpress.com/?p3973 身体清洁wordpress外贸网站模板 浴盐、防蚊液、足部护理、沐浴液、洗手液、泡澡用品wordpress外贸网站模板。 https://www.jianzhan…

【CSP试题回顾】201612-1-中间数

CSP-201612-1-中间数 解题思路 输入和初始化:首先,程序读入一个整数n,表示序列中数的个数。接着,读入n个正整数并存储在numList向量中,这些数依次表示a1, a2, …, an。 排序:使用sort函数对numList进行升…

前端运算符比较与计算中的类型转换,运算规则

题目: 下面表达式的值分别都是什么(类型转换) 0 0 0 2 true 2 false false false false 0 false undefined false null null undefined\t\r\n 0JS中的原始类型有哪些 原始值类型就是 存储的都是值,没有函数可以调用的。…

【Python时序预测系列】基于LSTM+Attention实现单变量时间序列预测(源码)

这是我的第232篇原创文章。 一、引言 长短期记忆网络(LSTM)结合注意力机制是一种常用的深度学习模型结构,用于处理序列数据。LSTM是一种循环神经网络(RNN)的变体,专门设计用来解决长序列数据的梯度消失和…

不知道去哪里找拍抖音的短视频素材?分享几个抖音短视频素材资源网站

嘿嘿,小伙伴们,是不是在抖音创作的路上遇到了素材荒?别担心,我这里有几个超给力的短视频素材网站推荐给大家,保证让你的创作不再为素材发愁 1,蛙学府资源 这个网站简直是短视频素材的大宝库,无…

CSS盒子模型笔记

尚硅谷学习视频链接:117_CSS_盒子模型的组成部分_哔哩哔哩_bilibili 1、盒子组成 盒子组成 content内容 padding border (margin不包含在盒子内) 2、div样式width、height 当css3属性box-sizingcontent-box(默认&#xff0…

基于Java的超市自助付款系统(Vue.js+SpringBoot)

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、研究内容2.1 商品类型模块2.2 商品模块2.3 超市账单模块 三、界面展示3.1 登录注册模块3.2 超市商品类型模块3.3 超市商品模块3.4 商品购买模块3.5 超市账单模块 四、部分源码展示4.1 实体类定义4.2 控制器接口 五、配套文档展示六、…

乐优商城(八)商品详情

1. 搭建商品详情微服务 当用户搜索到商品后,如果想要了解商品的更多信息,就需要进入商品详情页。 由于商品详情浏览量比较大,所以我们会创建一个微服务,用来展示商品详情。我们的商品详情页会采用 Thymeleaf 模板引擎渲染后&…

Linux高级编程:网络

回顾: 进程间的通信: 同一主机内通信: 传统的进程间通信方式(管道、信号); IPC对象(共享内存,消息队列,信号量集); 不同主机间进程的通信&#…

Linux之线程概念

目录 一、细粒度划分 1、堆区细粒度划分 2、物理内存和可执行程序细粒度划分 3、虚拟地址到物理地址的转化 二、线程的概念 1、基本概念 2、线程的优点 3、线程的缺点 4、线程异常 5、线程用途 三、Linux下的进程和线程 一、细粒度划分 1、堆区细粒度划分 在语言…

【MySQL】索引优化与关联查询优化

数据库调优的几个维度: 索引失效,没有充分用到索引——索引建立关联查询太多JOIN——SQL优化服务器调优以及各个参数设置——调整my.cnf数据过多——分库分表 SQL查询优化的几种方式: 物理查询优化:通过索引以及表连接方式进行…

Day30-Linux基础阶段总复习

Day30-Linux基础阶段总复习 1. 运维人员的三个核心职责(了解)2. 企业网站和应用的可用性的衡量标准(重点)2.1 高并发企业业务写入流程图2.2 中小型企业案例 3. Linux系统诞生发展过程中的关键代表人物4. 企业场景如何针对不同的业…

Springboot配置MySQL数据库

Springboot配置MySQL数据库 一、创建springboot项目&#xff0c;并添加如下依赖 <dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><scope>runtime</scope> </dependency>二、在applica…

Django框架——路由

上篇文章我们学习了Django框架——请求与响应&#xff0c;这篇文章我们学习Django框架——路由。本次学习过程中使用的项目目录如下图所示&#xff1a; 大家放心&#xff0c;这个是新建的Django项目&#xff0c;还没编写任何代码&#xff0c;这里展示目录是为了大家更好地理解本…

力扣大厂热门面试算法题 - 矩阵

解数独&#xff0c;单词搜索&#xff0c;被围绕的区域。每题做详细思路梳理&#xff0c;配套Python&Java双语代码&#xff0c; 2024.03.07 可通过leetcode所有测试用例。 目录 37. 解数独 解题思路 完整代码 Python Java 79. 单词搜索 解题思路 完整代码 Python…

金融行业数据安全面临的问题及解决办法

金融行业包括商业银行业务、证券业务、保险业务、基金业务、信托业务等&#xff0c;因此数据类型多种多样&#xff0c;并且数据涉及主体众多&#xff0c;应用场景上较为多样复杂&#xff0c;在数据交换上存在安全、合规、可控、可靠、高效等需求。首先&#xff0c;我们来看一下…

c++初阶------类和对象(六大默认构造函数的揭破)

作者前言 &#x1f382; ✨✨✨✨✨✨&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f382; ​&#x1f382; 作者介绍&#xff1a; &#x1f382;&#x1f382; &#x1f382; &#x1f389;&#x1f389;&#x1f389…

部署YOLOv8模型的实用常见场景

可以的话&#xff0c;GitHub上点个小心心&#xff0c;翻不了墙的xdm&#xff0c;csdn也可以点个赞&#xff0c;谢谢啦 车流量检测&#xff08;开源代码github&#xff09;&#xff1a; test3 meiqisheng/YOLOv8-DeepSORT-Object-Tracking (github.com) 车牌检测&#xff0…