逆向基础-汇编语言(1)

我们学习二进制方向肯定是离不开汇编语言的,我接下来会给大家总结一些常用的汇编语言指令,可以让你把大部分汇编代码看懂,差不多就是入个门,想要不忘记,在你刷题时,你可以试着不去看伪代码,我们可以多看看汇编指令,多练习就不会忘了

1.通用寄存器类别

64位:RAX,RBX,RCX,RDX,RBP,RSP,RSI,RDI

32位:EAX,EBX,ECX,EDX,EBP,ESP,ESI,EDI

16位:AX,BX,CX,DX,SI,DI,BP,SP

8位:AH,BH,CH,DH,AL,BL,CL,DL

当然还有XMM寄存器,EFLAGS寄存器,EIP寄存器等等

2.指令助记符

MOV:传送数值

ADD:数值相加

SUB:数组相减

MUL:数值相乘

JMP:跳转到一个新位置(无条件跳转,后面讲条件语句主包会讲)

CALL:调用一个过程(应该可以理解为调用一个函数)

NOP:空操作符(解E8类花指令需要用到)

3.小端序and大端序

x86处理器中储存方式就是小端序(从低到高)储存和检索数据

放张图片好理解一点

因为有些题目可能会有关

4.CPU状态标志

OV:溢出标志

UP:方向标志

EI:中断标志

PL:符号标志

ZR:零标志

AC:辅助进位标志

PE:奇偶标志 

CY:进位标志

5.算数计算(前面讲过的就没讲了)

(1)INC和DEC指令:就是我们非常熟悉的自增自减指令

(2)NEG指令:就是通过将操作符转化成为他的补码从而使他的符号取反

(3)XOR:异或运算,这个是逻辑运算符,不多说,其实就是把两个数都转化为二进制数,然后用来一位一位来对比,不一样的置1,一样的置0

(4)OR:或运算,逻辑运算符不多说了,C语言应该都学过了

(5)AND:与运算

(6)SHR:右移,当然其中有SAR,ROR都是右移,当然有一些区别,SAR是算数右移,也就是右移n位后前面n位置0,ROR是循环右移,也就是说右移的几位会出现在前面,左移不多说,一个原理,指令把最后的R换成L就可以了,还有RCR是带进位的右移,SHRD是双精度的右移,左移同理

#这篇先到这后面会继续发布,如果有问题可以提醒我修改(主包刚入门,知识基础不是特别牢固)

内容概要:本文详细介绍了Linux内核移植在嵌入式开发中的重要性及其具体实施步骤。首先,强调了Linux内核移植作为连接硬件与软件桥梁的重要性,特别是在智能穿戴设备、工业自动化控制系统等广泛应用中的角色。文章随后解析了Linux内核移植的主要步骤,包括准备阶段(选择合适的内核版本、获取源码、配置交叉编译环境)、内核源码修改(硬件平台支持、时钟调整、机器码适配)、内核配置(通过make config、make menuconfig或make xconfig进行配置)、内核编译与安装。此外,还探讨了常见的移植问题及其解决方案,如串口打印异常、文件系统挂载故障和驱动适配难题。最后,通过一个具体的ARM架构开发板移植案例,展示了整个移植流程的实际操作,并展望了Linux内核移植技术的发展趋势。 适合人群:具备一定嵌入式开发基础,特别是对Linux内核有一定了解的研发人员和技术爱好者。 使用场景及目标:①帮助开发者理解Linux内核移植的基本概念和流程;②指导开发者在实际项目中进行Linux内核移植,解决常见问题;③为从事嵌入式系统开发的人员提供理论支持和技术参考。 其他说明:Linux内核移植是一项复杂但极具价值的任务,不仅需要扎实的理论知识,还需要丰富的实践经验。随着技术的进步,Linux内核移植技术也在不断发展,未来的方向将更加注重自动化和智能化,以提高移植效率和成功率。建议读者在学习过程中结合实际案例进行练习,逐步积累经验,掌握这一关键技术。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值