• L9ARM体系结构与接口技术--ARM指令集仿真环境搭建(day5)


    目录

    一、ARM指令集导学

    一、指令集

    二、汇编的本质

    二、Keil仿真环境搭建 

     一、仿真

    二、Keil

    三、环境搭建 

    三、ARM指令集概述 

     作业:


    一、ARM指令集导学

    一、指令集

     指令
        能够指示处理器执行某种运算的命令称为指令(如加、减、乘 ...)
        指令在内存中以机器码(二进制)的方式存在
        每一条指令都对应一条汇编
        程序是指令的有序集合

     指令集
        处理器能识别的指令的集合称为指令集
        不同架构的处理器指令集不同
        指令集是处理器对开发者提供的接口
     

    二、汇编的本质

     汇编(对接CPU)
        > 每条汇编都会唯一对应一条机器码,且CPU能直接识别和执行
          即汇编中所有的指令都是CPU能够识别和执行的
        > 汇编中寄存器的使用、栈的分配与使用、程序的调用、参数的传递等
          都需要自己维护


     C语言(对接编译器)
        > 每条C语句都要被编译器编译成若干条汇编指令才能被CPU识别和执行
          即C语句中的指令CPU不一定能直接识别,需要编译器进行“翻译”
        > C中寄存器的使用、栈的分配与使用、程序的调用、参数的传递等
          都是编译器来分配和维护
     

    二、Keil仿真环境搭建 

     一、仿真

     硬件仿真
        通过硬件接口将CPU和内存中实际的信息读出来

     软件仿真
        通过软件模拟CPU内部运行程序的状态

    二、Keil

     Keil
        Keil MDK是用于基于ARM Cortex-M 微控制器的完整软件开发环境。它集成了uVision IDE
        C/C++编译器、调试器以及其他中间组件,支持众多芯片供应商,易于学习和使用.
     

    三、环境搭建 

     1.安装Keil集成开发环境

     2.安装gcc交叉编译工具链

     3.创建汇编工程,熟悉仿真环境的使用
     

    三、ARM指令集概述 

     @ 汇编的中符号
        @ 1.指令:  能够编译生成一条32bit机器码,并且能被CPU识别和执行
        @ 2.伪指令:本身不是指令,编译器可以将其替换成若干条指令
        @ 3.伪操作:不会生成指令,只是在编译阶段告诉编译器怎么编译
        
    @ ARM指令集
        @ 1.数据处理指令:  进行数学运算、逻辑运算
        @ 2.跳转指令:        实现程序的跳转,本质就是修改了pc寄存器
        @ 3.Load/srore指令:访问(读写)内存
        @ 4.状态寄存器传送指令:用于访问(读写)CPSR寄存器
        @ 5.软中断指令:    触发软中断
        @ 6.协处理指令:    操作协处理器的指令

     

     作业:

    1.简述C语言和汇编语言的本质区别是什么

    见上文汇编本质

  • 相关阅读:
    【技术积累】Linux中的命令行【理论篇】【九】
    通过R Studio用Markdown写Beamer
    剑桥大学哪些专业需要IB物理成绩?
    轮式装载机铲斗模拟仿真
    国区AWS上传本地文件创建私有AMI镜像(无需aws cli)
    PCL 视图变换(OpenGL)
    font-spider 压缩字体使用
    PowerShell:在代理服务器后面使用 PowerShell
    运筹说 第72期 | 算法介绍之动态规划(二)
    kotlin基础知识
  • 原文地址:https://blog.csdn.net/qq_48328693/article/details/126841836