首页1
发现
标签
搜索
注册
登录
首页
全书
全文
蜘蛛
搜索
注册
登录
搜索
软件工具 SofTool.CN
本次搜索耗时
1.086
秒,为您找到
113
个相关结果.
搜书籍
搜文档
MACRO MEND
5581
2020-12-25
《ARM 汇编》
简介: MACRO MEND伪指令可以将一段代码定义为一个整体,称为宏指令 ;宏是一段独立的程序代码,它是通过伪指令定义的,在程序中使用宏指令即可调用宏;当程序被汇编时,汇编程序将对每个调用进行展开,用宏定义取代源程序中的宏指令;在源程序被编译时,汇编器将宏调用展开,用宏定义中的指令序列代替程序中的宏调用,并将实际参数的值传递给宏定义中的形式参数;MAC...
01_开端
5565
2021-02-18
《ARM32 内核是如何启动?》
一切的开端 一切的开端 在经过解压缩、增强,并收到了设备树块(DTB) 之后,程序计数器(pc)被置于符号stext() 的物理地址(即文本段的开始)处,从而调用ARM32内核。 SofTool.CN Notes:DTB = Device Tree Block 这段代码可以参考Linux内核源码:arch/arm/kernel/head.S...
01_前言
5091
2021-01-02
《ARM汇编基本指令》
前期在学习《逆向工程实战》的过程中学习了ARM汇编(32位)相关基础知识和指令。 在这主要是对实际过程中碰到的一些指令含义的记录,以及对ARM64和ARM32的不同之处的学习,同时在最后的实战部分,将一小段ARM64汇编指令翻译成对应的c语言程序。
06_页表
5058
2021-02-18
《ARM32 内核是如何启动?》
设置初始页表 ARM32页表格式: Linux页表的术语 设置初始页表 开始在虚拟内存中执行之前,我们必须设置一个MMU转译表,将物理内存映射到虚拟内存。这个表通常称为“页表”,尽管初始的映射使用的是节,而不是页。ARM架构要求页表必须放在物理内存中的偶数16KB边界上。而页表的尺寸也永远是16KB,所以这个要求很合理。 初始页表的位置由一个名...
CODE32
5051
2020-12-25
《ARM 汇编》
语法: CODE32 功能: CODE32伪指令通知编译器,其后的指令序列为32位的ARM指令。 若在汇编源程序中同时包含ARM指令和Thumb指令时,可用CODE16伪指令通知编译器其后的指令序列为16位的Thumb指令,CODE32伪指令 通知编译器其后的指令序列为32位的ARM指令。因此,在使用ARM指令和Thumb指令混合编程的代码里,...
05_连续加载及存储
4967
2021-02-16
《ARM Assembly Basics [中文版]》
连续加载/存储 PUSH和POP 连续加载/存储 有时连续加载(存储)会显得更加高效。因为我们可以使用LDM(load multiple)以及STM(store multiple)。这些指令基于起始地址的不同,有不同的形式。下面是我们会在这一节用到的相关代码。在下文中会详细讲解。 .data array_buff: .word 0x000000...
伪指令
4963
2021-02-15
《ARM 汇编》
伪指令 简介: 在 ARM 的汇编程序中,有以下几种伪指令: 双字、字、半字 占用的字节: 伪指令 简介: 我们可以从下面几种角度来理解伪指令: 在ARM汇编语言中,有一些特殊汇编助记符,这些特殊汇编助记符与指令系统的汇编助记符不同,没有相对应的操作码,通常称这些特殊汇编助记符为伪指令 ,这些特殊汇编助记符对应的操作就被称为伪操作 。 因为在...
简单编译
4936
2020-12-25
《GCC 基础入门》
示例程序如下: //hello.c #include <stdio.h> int main (void ) { printf ("Hello World!\n" ); return 0 ; } 这个程序,一步到位的编译指令是: gcc hello.c -o hello //补充: //前后顺序可以颠倒,即: gcc...
CODE16
4924
2020-12-25
《ARM 汇编》
语法: CODE16 功能: CODE16伪指令通知编译器,其后的指令序列为16位的Thumb指令。 若在汇编源程序中同时包含ARM指令和Thumb指令时,可用CODE16伪指令通知编译器其后的指令序列为16位的Thumb指令,CODE32伪指令 通知编译器其后的指令序列为32位的ARM指令。因此,在使用ARM指令和Thumb指令混合编程的代码...
09_重点
4837
2021-02-18
《ARM32 内核是如何启动?》
重点 重点 _mmapswitched 位于文件 arch/arm/kernel/head-common.S 中,会执行一些特殊的事情。 首先是一条异常语句,又是因为原地执行(XIP):尽管内核的 .text 段可以继续在ROM中执行,但无法在 .data 段中保存任何变量。所以首先需要通过将该段复制到RAM中,或者使用某些代码将其解压到RAM中的...
1..
«
4
5
6
7
»
..12