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

一、寄存器

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:      nopmovl $4, %eax  movl $1, %ebx  movl $5, %ecx  movl $13, %edx  movl %eax,%ebxmovl $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.hqwc.cn/news/517899.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【国家机关办公建筑 大型公共建筑的能耗监测、集中统一管理】安科瑞能耗监测系统整体解决方案

背景 为全面推进大型公建节能管理工作,需建立大型公建节能监管体系,逐步建立起全国联网的大型公建能耗监测平台,在大型公建安装分项计量装置,通过远程传输等手段及时采集分析能耗数据,实现对大型公建的实时动态监测、汇…

redis 性能优化一

目录 前言 尾延迟 前言 说到redis 性能优化,优化的目的是什么?提高响应,减少延迟。就要关注两点,一是尾延迟,二是Redis 的基线性能。只有指标,我们的优化,才有意义,才能做监控以及…

Vue:双token无感刷新

文章目录 初次授权与发放Token:Access Token的作用:Refresh Token的作用:无感刷新:安全机制:后端创建nest项目AppController 添加login、refresh、getinfo接口创建user.dto.tsAppController添加模拟数据 前端Hbuilder创…

app逆向-ratel框架-AES,DES,MD5,SHA1加密算法java hook程序

一、前言 AES(高级加密标准)、DES(数据加密标准)、MD5(消息摘要算法5)和SHA-1(安全哈希算法1)都是常见的加密算法,用于数据加密和哈希计算。 二、加密算法实现 1、创建…

掌握 Vue3、Vite 和 SCSS 实现一键换肤的魔法步骤

前言 一个网站的换肤效果算是一个比较常见的功能,尤其是在后台管理系统中,我们几乎都能看到他的身影,这里给大家提供一个实现思路。 搭建项目 vitevue3搭建项目这里就不演示了,vite官网里面讲得很清楚。 注:这里使…

Docker数据卷的挂载

目录 1 概念 2 常用命令 3 操作步骤(主要讲在创建容器时的挂载) 3.1 挂载在默认目录 3.2 挂载在自定义目录 4 附加内容(查看容器的挂载情况) 1 概念 数据卷(volume)是一个虚拟目录,是容器内目录与宿主机目录之间映射的桥梁。这样容器内…

上海亚商投顾:沪指震荡微涨 AI手机、军工板块集体走强

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 一.市场情绪 沪指昨日低开后震荡回升,黄白二线分化明显,银行等权重板块走势较强。AI手机概念股持续…

智能设备 app 设计 —— 蓝蓝 UI 设计公司

今天给大家推荐是智能设备app设计,随着智能设备的逐渐普及随之操作app也越来越多,希望能给大家带来灵感 #日常灵感 #创意设计#UI提升#ui设计#app #设计案例分享|#设计 #产品设计#产品设计#设计灵感 #B端产品经理 #ui #产品 #美工 #交互 #产品经理 #开发 …

数据管理【总结】

大数据:是指极其庞大的数据集,通常具备五大特征(5个V):数据量大(Volume)、数据类型多样(Variety)、数据生成速度快(Velocity)、数据真实性高&…

大模型快速实现python3+html内容在线渲染

需求: 有一份数据需要通过前端在线展示给用户,不需要复杂的样式交互,后端服务是基于Python3实现的API接口,对前端技术不是很了解,需要快速实现该需求。类似样式即可: 思路: 如果页面不复杂&am…

一键清除JavaScript代码中的注释:使用正则表达式实现

这个正则表达式可以有效地匹配 JavaScript 代码中的各种注释&#xff0c;并且跳过了以 http: 或 https: 开头的链接。 /\/\*[\s\S]*?\*\/|\/\/[^\n]*|<!--[\s\S]*?-->|(?<!http:|https:)\/\/[^\n]*/gvscode 实战&#xff0c;ctrlF 调出查找替换工具&#xff0c;点…

交流稳压稳频大功率电源技术与应用

交流稳压稳频大功率电源技术与应用 交流稳压稳频大功率电源是一种能够提供稳定交流电压和频率的电源设备&#xff0c;它具有大功率输出能力&#xff0c;适用于各种需要大功率电源的场合&#xff0c;交流稳压稳频大功率电源在各个领域中发挥着越来越重要的作用。它不仅为各种电子…