软件工具 SofTool.CN 本次搜索耗时 1.807 秒,为您找到 38 个相关结果.
  • 07_栈与函数

    函数 总结一下: 在这部分我们将研究一篇独特的内存区域叫做栈,讲解栈的目的以及相关操作。除此之外,我们还会研究ARM架构中函数的调用约定。 栈 一般来说,栈是一片在程序/进程中的内存区域。这部分内存是在进程创建的时候被创建的。我们利用栈来存储一些临时数据比如说函数的局部变量,环境变量等。在之前的文章中,我们讲了操作栈的相关指令PUSH和POP。 ...
  • 引言

    4016 2021-02-14 《GNU ARM 汇编》
    引言: 更新历史: 注意: 引言: 无论本文档中提到的 源寄存器、目的寄存器、基址寄存器等,记住他们都是寄存器 ,只是因为用途不太一样,所以加了一个前缀描述一下; 在 ARM 汇编 中,注释使用 ; 来标记单行注释;在 Linux GNU 汇编 中注释使用 /* … */ 来标记多行注释, 使用 @ 来标记单行注释; GNU 汇编 ...
  • 简单编译

    3543 2020-12-25 《GCC 基础入门》
    示例程序如下: //hello.c #include <stdio.h> int main (void ) { printf ("Hello World!\n" ); return 0 ; } 这个程序,一步到位的编译指令是: gcc hello.c -o hello //补充: //前后顺序可以颠倒,即: gcc...
  • DCW

    3442 2020-12-25 《ARM 汇编》
    语法: 标号 DCW 表达式 备注: 表达式可以为程序标号或数字表达式; 功能: DCW 伪指令用于分配一片连续的半字存储单元(必须按半字对齐),并用伪指令中指定的表达式进行初始化。 示例: ; //为标号 SOFTOOL 分配一片连续的半字节存储单元,并将其值初始化为 1 2 3 SOFTOOL DCW 1 , 2...
  • 05_连续加载及存储

    连续加载/存储 PUSH和POP 连续加载/存储 有时连续加载(存储)会显得更加高效。因为我们可以使用LDM(load multiple)以及STM(store multiple)。这些指令基于起始地址的不同,有不同的形式。下面是我们会在这一节用到的相关代码。在下文中会详细讲解。 .data array_buff: .word 0x000000...
  • 1. Introduction

    INTRODUCTION TO ARM ASSEMBLY BASICS Welcome to this tutorial series on ARM assembly basics. This is the preparation for the followup tutorial series on . Before we can dive into ...
  • 02_地址映射原理

    3175 2021-02-17 《MMU》
    1、页表: 2、页和页框: 3、虚拟地址: 3.1 虚拟地址 被MMU分为两部分 : 3.2 CPU访问物理地址的变换流程: 3.3 示例(该示例以”段”分页为例): 4、TLB的概念: 4.1 使无效TLB内容 4.2 锁定TLB的内容: 5、存储访问过程: 5.1 使能MMU时的存储访问过程。 5.2 禁止MMU时存储访问过程 5...
  • b

    3158 2020-12-25 《ARM 汇编》
    语法: b{l}{条件} 目标地址 备注: l (注: l 是 L 的小写字母,不是 数字1) 决定是否保存返回地址到lr(r14)中.当有 l 时,当前 pc寄存器值+4 (即:当前pc的下一条指令的地址) 保存到 lr 中,然后跳转到 目标地址;当无 l 时,当前 pc寄存器值+4 (即:当前pc的下一条指令的地址) 不会保存到 lr 中,直...
  • 7. Stack and Functions

    STACK AND FUNCTIONS In this part we will look into a special memory region of the process called the Stack. This chapter covers Stack’s purpose and operations related to it. Addi...
  • adr

    2922 2020-12-25 《ARM 汇编》
    语法: adr{条件} 目的寄存器, 地址表达式 备注: {条件} 可选项 地址表达式 可以是标号、数值 功能: adr指令将基于PC 的相对偏移地址值 或 基于寄存器 的相对偏移地址值读取到目标寄存器中。 编译: 当汇编编译器处理adr指令时,adr指令会被替换为一条add或sub指令(注意:只能会一条,否则报错)。 示例...