摘要(TL;DR 可以是 Too long; Didn’t read(太长,所以没有看)。也可以是 Too long; Don’t read (太长,请不要看),常作为一篇很长的文章的摘要标题。)计算机通电后,计算机的BIOS从启动设备上读取512bytes,如果其在这些512bytes末尾检测到一个2-byte的“magic number”,便将这512bytes的数据当成指令并运行这些指令。这
    (最近在论坛上,很多朋友提到关于bootlaoder的问题,所以把自己的一些理解整理一下,做一个说明,希望对大家有帮助,如果你觉得有问题的,可以用任何方式,任何语气提出,本人绝对不会象0bug大师那样,呵呵。)     一.bootloader的作用      
1、Intel x86 CPU段式内存管理   1)在保护模式下改变段寄存器的功能,使其从一个单纯的基地址变成向这样一个数据结构的指针。   这样,当一条访问内存的指令发出一个内存地址时,cpu就可以这样来归纳出实际应该放上数据   总线的地址:       a.根据指令的性质来确
转载 2024-02-22 11:57:55
1257阅读
交叉编译什么是交叉编译?为什么要交叉编译宿主机与目标机交叉编译需要用到的工具 什么是交叉编译?交叉编译是一个动作。交叉编译是在一个平台上生成另一个平台上的可执行代码。 同一个体系结构可以运行不同的操作系统;同样,同一个操作系统也可以在不同的体系结构上运行。举例来说,我们常说的x86 Linux平台实际上是 Intel x86体系结构和Linux for x86操作系统的统称; 而x86 WinN
转载 2024-04-08 22:59:45
1357阅读
Intel X86系列CPU寻址方式1 历史上第一个微处理器芯片4004就是Intel制造的。 所谓X86系列,是指Inte从16位微处理器8086开始的整个CPU芯片系列。在X86系列中8086和8088是16位处理器,而从80386开始为32位处理器。 2 当我们说一个CPU是16位或者32位时,指的是处理器中“算术逻辑单元”ALU的宽度。 系统总线中的数据线部分,称为数据总线,通常与ALU具
  《80x86汇编语言程序设计教程》 第一章讲的是cpu的发展历史从8位cpu发展到如今的64位CPU,但是intel的cpu一直是向下兼容的也就是说现在的cpu还是兼容8位汇编的。  我们首先来讲一下8086 CPU的基础设定,这些设定是8086 CPU硬件设计决定的所以只要记住就是了,对我们而言没什么为什么,如果真要问为什么是这样那就只能去问设计CPU的工程师咯。一、先行基础  &
高通的芯片生意早已不局限于移动设备领域,而是进一步深入至 PC 市场。相比强调性能的 X86 芯片,以高通骁龙为代表的 ARM 系芯片则希望突出自己的优势,即更长的电池续航、无风扇设计和全天候的蜂窝网络连接。在骁龙技术峰会的第三天,高通发布了两颗全新的 PC 芯片——骁龙 8c 和 7c,它们被定位为现有骁龙 8cx 平台的扩展,面向的中低端的 PC 设备,从而让高通系的 PC 设备能够覆盖更多价
基于 Jericho2 芯片的下一代物理云网关 —— BCM88690在使用现有的智能网卡解决方案的同时, UCloud 也在积极的在技术市场上寻找合适的下一代物理云网关,以替换现有的产品解决方案。首先进入 UCloud 视线的是某公司的一款高性能交换机。它和智能网卡一样可以运行 Linux 和 Open vSwitch,更加难得的是,其通过 Switchdev 支持 OVS TC Flower
教你如何实现“loongarch mips c86” 作为一名经验丰富的开发者,我很愿意教你如何实现“loongarch mips c86”。首先,让我们来整理一下整个过程的流程图。 ```mermaid flowchart TD A[准备开发环境] B[下载loongarch mips c86源码] C[编译源码] D[运行loongarch mips c86
原创 2024-01-10 03:03:49
66阅读
寄存器汇编指令栈栗子逆向工程绕不过的一部分就是汇编指令的分析。我们iPhone里面用到的是ARM汇编,但是不同的设备也有差异,因CPU的架构不同。架构设备armv6iPhone, iPhone2, iPhone3G, 第一代、第二代 iPod Toucharmv7iPhone3GS, iPhone4, iPhone4S,iPad, iPad2, iPad3(The New iPad), iPad
 Arm Cortex-M23 MCU,Arm Cortex-M33 MCU与RISC-V MCU技术本文介绍以下技术Arm Cortex-M23  MCUArm Cortex-M33  MCURISC-V  MCU基于ARM Cortex-M和RISC-V内核,提供了丰富的产品组合和全面的软硬件支持Arm® Cortex®-M23 MCU基于Arm® Co
x86平台下调用约定    我们都知道x86平台下常用的有三种调用约定,__cdecl、__stdcall、__fastcall。我们分别对这三种调用约定进行分析。__cdecl  __cdecl是C/C++的默认调用约定,如果不显示声明调用约定的情况下,就是该调用约定。下面我们来从汇编层次来熟悉这种调用约定。我写了一个函数,如下:1 int __cdecl TestCdecl(int a, in
转载 2024-08-15 02:20:13
109阅读
C语言的流程和处理程序分为Dubug版与Release(发行版) 调试版一般不优化,Release会优化代码,即减去没必要的汇编部分。一、C语言的循环汇编1.for循环 测试代码:for (i = 0; i < 5; i++) { c = c + 1; }查看反汇编:for (i = 0; i < 5; i++) 00164464 mov
由于历史原因,我国在很多高新技术的研发方面起步较晚,所以现阶段依然需要依赖外国技术,例如半导体领域、操作系统等等。在半导体领域的无奈,想必近段时间大多数关注华为的消费者都能够感受到,国产半导体如此,国产操作系统也有些落后。放眼全球操作系统市场,微软旗下的Windows称霸,Linux和macOS满足了小众的需求;谷歌旗下的Android统领全球范围内的安卓手机厂商,而苹果的iOS地位超然。国产电脑
一、处理器发展历史(1)第一阶段(1971年-1973年)。这是4位和8位低档微处理器时代,代表产品是Intel 4004处理器。1971年,Intel生产的4004微处理器将运算器和控制器集成在一个芯片上,标志着CPU的诞生; 1978年,8086处理器的出现奠定了X86指令集架构, 随后8086系列处理器被广泛应用于个人计算机终端、高性能服务器以及云服务器中。(2)第二阶段(1974年-197
10.指令集 (1)CISC指令集  CISC指令集,也称为复杂指令集,英文名是CISC,(Complex Instruction Set Computer的缩写)。在CISC微处理器中,程序的各条指令是按顺序串行执行的,每条指令中的各个操作也是按顺序串行执行的。顺序执行的优点是控制简单,但计算机各部分的利用率不高,执行速度慢。其实它是英特尔生产的x86系列(也就是IA-32架构)CPU及其兼容C
序言硬件实现方案需要考虑处理器的选型。本文介绍嵌入式处理器的分类和选型原则。 1. 微处理器分类根据通用计算机和嵌入式系统的分类,把微处理器分为:通用处理器 + 嵌入式处理器【1】通用处理器:以x86体系架构的产品为代表目前基本为Intel和AMD两家公司所垄断【2】嵌入式处理器:嵌入式系统领域有少量通用处理器,但以嵌入式处理器为主嵌入式系统种类繁多,流行的体系架构有30多个嵌入式系统中的
介绍:Y86为CSAPP书中为方便学习而简化的X86。Y86顺序结构的是无流水线的结构(SEQ):在一个足够长的时钟周期上,该结构会完成一条完整的汇编指令。每个汇编指令有6个执行阶段。 一、六个基本阶段取指——译码——执行——访存——写回——更新PC 二、各阶段主要功能1、取指:计算当前指令的长度,获取需要用到的寄存器和立即数2、译码:从寄存器中读取数据3、执行:算数逻辑单元(
目录寄存器数据格式操作数的寻址模式 常见指令控制过程结构体指令周期GDB调试器《深入理解计算机系统》第三章笔记寄存器程序计数器(PC,下一条待处理的指令的地址)条件码寄存器(比如CF、ZF、SF、OF)整数寄存器(16个)数据格式C声明占用字节汇编代码后缀char1b (byte)short2w (word)int4l (long word)long8q (quad word)char*
转载 2024-07-06 14:06:41
304阅读
操作模式保护模式保护模式是处理器的原生状态,在这种模式下,所有的指令和特性都是可用的。分配给程序的独立内存区域被称为段,而处理器会阻止程序使用自身段范围之外的内存。虚拟8086模式虚拟8086模式是保护模式的一种特殊情况,保护模式下,处理器可以在一个安全环境中,直接执行实地址模式软件,如 MS-DOS 程序。换句话说,如果一个程序崩溃了或是试图向系统内存区域写数据,都不会影响到同一时间内执行的其他
  • 1
  • 2
  • 3
  • 4
  • 5