x86/x64体系探索及编程

x86/x64体系探索及编程 pdf epub mobi txt 电子书 下载 2025

邓志 著
图书标签:
  • x86
  • x64
  • 汇编
  • 体系结构
  • 编程
  • 计算机底层
  • 操作系统
  • 逆向工程
  • 调试
  • Windows
  • Linux
想要找书就要到 图书大百科
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
出版社: 电子工业出版社
ISBN:9787121181764
版次:1
商品编码:11100249
品牌:Broadview
包装:平装
开本:16开
出版时间:2012-10-01
用纸:胶版纸
页数:813
正文语种:中文

具体描述

内容简介

  《x86/x64体系探索及编程》是对Intel手册所述处理器架构的探索和论证。全书共五大部分,从多个方面对处理器架构相关的知识进行了梳理介绍。书中每个章节都有相应的测试实验,所运行的实验例子都可以在真实的机器上执行。

  通过阅读《x86/x64体系探索及编程》,读者应能培养自己动手实验的能力。如果再有一些OS方面的相关知识,基本上就可以写出自己简易的OS核心。

作者简介

  邓志,1977年生于广东,在银行工作十余年,现自由职业者。对计算机有一股热情和蛮劲,善于思考,特别喜欢琢磨底层架构。熟悉C语言,并且精通x86/x64平台的汇编语言与机器指令系统,能用汇编写简易的OS核心。

精彩书评

  ★在学习x86汇编语言的过程中,总会遇到这样一种情况:基础的指令和架构已经学完,驱动或者应用也会开发了,但想要再进一步发掘处理器的新增指令集以及新特征,却发现参考资料只有Intel的指令手册,每条指令寥寥数语的说明文字对于了解复杂的新特征根本是杯水车薪。现在,本书以详尽的示例带领读者探索这部分内容,全面深入地为读者展现了x86处理器的高级特征。
  ——罗云彬 畅销书《琢石成器——Windows环境下32位汇编语言程序设计》作者

  ★这本书真正是让我眼前一亮。到目前为止,这是我见过的对x86处理器介绍得最详尽又最具实践指导意义的书。我如果学习的话,一定会选择这本书。很显然,在实践中解决困难,应用所学知识的乐趣,是任何高大全的课程所无法比拟的。如果耐心地将这本书上的内容读过,将作者提供的例子一一运行过,我相信对x86处理器的知识,必定会了然于胸。
  ——谭文 畅销书《天书夜读——从汇编语言到 Windows 内核编程》 《寒江独钓——Windows 内核安全编程》作者

目录

第一篇 x86基础
第1章 数与数据类型
1.1 数
1.1.1 数字
1.1.2 二进制数
1.1.3 二进制数的排列
1.1.4 十六进制数
1.1.5 八进制数与十进制数
1.2 数据类型
1.2.1 integer数
1.2.2 floating-point数 9
1.2.3 real number(实数)与NaN(not a number)
1.2.4 unsupported编码值
1.2.5 浮点数精度的转换
1.2.6 浮点数的溢出
1.2.7 BCD码
1.2.8 SIMD数据 21
第2章 x86/x64编程基础
2.1 选择编译器
2.2 机器语言
2.3 Hello world
2.3.1 使用寄存器传递参数
2.3.2 调用过程
2.3.3 定义变量
2.4 16位编程、32位编程,以及64位编程
2.4.1 通用寄存器
2.4.2 操作数大小
2.4.3 64位模式下的内存地址
2.4.4 内存寻址模式
2.4.5 内存寻址范围
2.4.6 使用的指令限制
2.5 编程基础
2.5.1 操作数寻址
2.5.2 传送数据指令
2.5.3 位操作指令
2.5.4 算术指令
2.5.5 CALL与RET指令
2.5.6 跳转指令
2.6 编辑与编译、运行
第3章 编写本书的实验例子
3.1 实验的运行环境
3.2 生成空白的映像文件
3.2.1 使用nasm编译器生成
3.2.2 使用bximage工具
3.3 设置bochs配置文件
3.4 源代码的基本结构
3.5 编译源代码
3.6 映像文件内的组织
3.7 使用merge工具
3.7.1 merge的配置文件
3.7.2 执行merge命令
3.8 使用U盘启动真实机器
3.8.1 使用merge工具写U盘
3.8.2 使用hex编辑软件写U盘
3.9 编写boot代码
3.9.1 LBA转换为CHS
3.9.2 测试是否支持int 13h扩展功能
3.9.3 使用int 13h扩展读磁盘
3.9.4 最后看看load_module()
3.1 总结
第4章 处理器的身份
4.1 测试是否支持CPUID指令 67
4.2 CPUID指令的术语及表达
4.3 基本信息与扩展信息
4.4 处理器的型号(family,model与stepping)
4.5 最大的物理地址和线性地址
4.6 处理器扩展状态信息
4.6.1 探测Processor Extended State子叶 75
4.6.2 Processor Extended State子叶所需内存size
4.6.3 Processor Extended State的保存
4.6.4 Processor Extended State的恢复
4.7 处理器的特性
4.8 处理器的Cache与TLB信息
4.9 MONITOR/MWAIT信息
4.1 处理器的long mode
第5章 了解Flags
5.1 Eflags中的状态标志位
5.1.1 signed数的运算 86
5.1.2 unsigned数的运算
5.2 IOPL标志位 90
5.3 TF标志与RF标志
5.4 NT标志 95
5.5 AC标志 96
5.6 VM标志
5.7 eflags寄存器的其他事项
第6章 处理器的控制寄存器
6.1 CR8
6.2 CR3
6.3 CR0
6.3.1 保护模式位PE
6.3.2 x87 FPU单元的执行环境
6.3.3 CR0.PG控制位 108
6.3.4 CR0.CD与CR0.NW控制位
6.3.5 CR0.WP控制位 110
6.3.6 CR0.AM控制位
6.4 CR4
6.4.1 CR4.TSD与CR4.PCE控制位
6.4.2 CR4.DE与CR4.MCD控制位
6.4.3 CR4.OSFXSR控制位
6.4.4 CR4.VMXE与CR4.SMXE控制位
6.4.5 CR4.PCIDE与CR4.SMEP控制位
6.4.6 CR4.OSXSAVE控制位
6.4.7 CR4中关于页的控制位
6.5 EFER扩展功能寄存器
第7章 MSR
7.1 MSR的使用
7.2 MTRR
7.2.1 Fixed-range区域的映射
7.2.2 MTRR的功能寄存器
7.3 MSR中对特殊指令的支持
7.3.1 支持sysenter/sysexit指令的MSR
7.3.2 支持syscall/sysret指令的MSR
7.3.3 支持swapgs指令的MSR 127
7.3.4 支持monitor/mwait指令的MSR
7.4 提供processor feature管理
7.5 其他未列出来的MSR
7.6 关于MSR一些后续说明

第二篇 处理器的工作模式
第8章 实地址模式
8.1 真实的地址
8.2 real mode的编址
8.3 real mode的状态
8.4 段基址的计算
8.5 第1条执行的指令
8.6 实模式下的执行环境
8.7 实模式下的IVT
8.8 突破64K段限
8.9 A20地址线
第9章 SMM系统管理模式探索
9.1 进入SMM
9.2 SMM的运行环境 141
9.2.1 SMRAM区域
9.2.2 SMM执行环境的初始化
9.2.3 SMM下的operand与address
9.2.4 SMM下的CS与EIP
9.2.5 SMM下的SS与ESP
9.3 SMM里的中断
9.4 SMI的Back-to-Back响应
9.5 SMM里开启保护模式 147
9.6 SMM的版本 148
9.7 I/O指令的重启及Halt重启
9.8 SMM的退出 152
9.9 SMBASE的重定位
9.1 SMI处理程序的初始化
9.11 SMM的安全
9.11.1 芯片组的控制
9.11.2 处理器对SMRAM空间的限制
9.11.3 cache的限制
9.12 测试SMI处理程序
第10章 x86/x64保护模式体系(上)
10.1 x86/x64的权限
10.2 保护模式下的环境
10.2.1 段式管理所使用的资源
10.2.2 paging分页机制所使用的资源
10.3 物理地址的产生 166
10.4 段式管理机制
10.4.1 段式内存管理
10.4.2 段式的保护措施
10.5 段式管理的数据结构 169
10.5.1 Segment Selector(段选择子)
10.5.2 Descriptor Table(描述符表)
10.5.3 Segment Selector Register(段寄存器)
10.5.4 Segment Descriptor(段描述符)
10.5.5 LDT描述符与LDT 258
10.6 开启保护模式
10.6.1 初始化GDT
10.6.2 初始化IDT
10.6.3 切换到保护模式
第11章 x86/x64保护模式体系(下)
11.1 物理页面
11.1.1 处理器的最高物理地址(MAXPHYADDR)
11.1.2 物理页面的大小
11.1.3 页转换模式(Paging Mode) 268
11.2 paging机制下使用的资源 270
11.2.1 寄存器
11.2.2 CPUID查询leaf
11.2.3 寄存器的控制位
11.2.4 页转换表资源
11.3 32位paging模式(non-PAE模式)
11.3.1 CR3结构
11.3.2 32位paging模式下的PDE结构
11.3.3 使用32位paging
11.4 PAE paging模式 282
11.4.1 在Intel64下的CR3与PDPTE寄存器
11.4.2 在AMD64下的CR3
11.4.3 PAE paging模式里的PDPTE结构
11.4.4 PAE paging模式里的PDE结构
11.4.5 PAE paging模式里的PTE结构
11.4.6 使用和测试PAE paging模式 288
11.4.7 使用和测试Execution Disable功能
11.5 IA-32e paging模式
11.5.1 IA-32e paging模式下的CR3
11.5.2 IA-32e paging模式下的PML4E结构
11.5.3 IA-32e paging模式下的PDPTE结构
11.5.4 IA-32e paging模式下的PDE结构
11.5.5 IA-32e paging模式下的PTE

精彩书摘

  如果想对x86与x64有较全面的了解,那么从第1章到第21章最好都去阅读。对于x86与x64编程基础不是那么好的读者,第1章和第2章是必须要去了解的。
  要想更好地了解x86与x64平台,第1篇、第2篇,以及第4篇是需要好好阅读的,它们是x86与x64架构体系的基石。
  第3篇与第5篇旨在帮助读者扩展视野,它们是让x86与x64平台变得强大的地方。
  x86与x64的章节
  在每一个章节里都会有x86与x64体系的相关描述,特别是在第2篇和第3篇。如非明确注明,x86下大多数的特征在x64下也是适用的。譬如对MSR(Model-Specific Register)的访问方式在64位执行环境下与x86体系下是一样的;再譬如对local APIC的编程方式,在x64下与x86下也是一样的;又譬如对x87 FPU与SSE指令的执行环境,大多数情况下在x64下与x86下是一样的。
  总之,除了第12章明确描述x64内容外,其他章节都会含有x86与x64的描述。
  书中的例子与工具
  本书共21章,每一章对应一个topicXX目录,实验例子源代码就在这些目录下以ex开头的子目录里,有上百个实验例子。
  ……

前言/序言


《代码的深度:不止于 x86/x64 的系统之旅》 一、 拨开迷雾,揭示计算机世界的底层逻辑 你是否曾好奇,看似瞬息万变的数字世界,其背后究竟由何支撑?当我们输入一行行代码,敲下回车,它如何被理解、执行,最终呈现在我们眼前?《代码的深度:不止于 x86/x64 的系统之旅》将带你踏上一段前所未有的探索之旅,深入计算机的灵魂深处,揭示那些隐藏在高级语言表象之下的底层奥秘。 本书并非一本简单的技术手册,而是一场关于“理解”的启迪。它不局限于特定的硬件架构,而是以一种更宏观、更具普适性的视角,引导读者构建起对计算机系统运行机制的深刻认知。我们将从最基础的概念出发,层层递进,如同剥洋葱一般,一层一层地揭开计算机世界的神秘面纱。 1. 架构的基石:指令集与微架构的对话 在探讨任何更高级的概念之前,理解处理器如何“思考”是至关重要的。本书将详细阐述指令集的本质,那是CPU与软件之间的通用语言。我们将深入探讨不同指令集的设计哲学,例如RISC (精简指令集) 和CISC (复杂指令集) 的演变,分析它们各自的优劣,以及它们如何在硬件层面影响程序的执行效率。 更进一步,我们将触及微架构的奇妙世界。CPU内部不仅仅是执行指令的简单机器,它是一个高度复杂的精巧设计。流水线技术如何实现指令的并发执行?分支预测如何提升效率,又隐藏着怎样的风险?缓存机制的层次结构如何加速数据访问,其背后的原理又是怎样的?本书将用通俗易懂的语言,结合生动的图示,深入浅出地解析这些现代CPU设计中的核心要素。虽然我们不深入 x86/x64 的具体指令和内部设计,但我们将为你构建理解任何处理器微架构的通用思维模型。 2. 内存的脉络:从地址空间到虚拟世界的幻象 程序运行时,需要大量的空间来存储数据和指令,这便是内存。本书将带你理解内存的层次结构,从寄存器到CPU缓存,再到主内存(RAM),以及它们之间的数据流动规则。我们将探讨内存地址的概念,以及程序如何通过地址来访问特定的数据。 然而,现代操作系统为我们构建了一个更为复杂的内存管理体系——虚拟内存。本书将深入剖析虚拟内存的运行机制。页表是如何将虚拟地址映射到物理地址的?缺页中断是如何发生的,又如何被处理?内存分页和分段的机制如何带来更大的灵活性和安全性?理解虚拟内存,你将明白为什么不同进程可以拥有独立的地址空间,以及操作系统如何高效地利用有限的物理内存。 3. 进程的生命:从启动到调度的动态演变 当我们在操作系统中启动一个程序,它便成为了一个“进程”。本书将详尽地阐述进程的生命周期,从创建、运行、阻塞到终止的每一个阶段。我们将深入理解进程的本质,它不仅仅是程序的代码,更是一个独立的执行实体,拥有自己的虚拟地址空间、资源和执行状态。 操作系统的核心任务之一便是进程调度,如何公平有效地分配CPU时间给众多进程?本书将介绍各种经典的进程调度算法,如先来先服务、短作业优先、时间片轮转等,并分析它们的优缺点。你将了解到,正是这些精妙的调度策略,才使得我们能够流畅地同时运行多个应用程序,体验到多任务处理的便利。 4. 线程的并行:轻量级执行的奥秘 在进程内部,我们还可以进一步划分出更小的执行单元——线程。本书将详细解释线程的概念,以及它与进程在资源占用、通信方式等方面的区别。我们将深入探讨多线程编程带来的优势,例如提高程序的响应速度和吞吐量。 同时,多线程编程也伴随着诸多挑战,如数据竞争、死锁等。本书将为你揭示这些并发编程中的陷阱,并介绍线程同步的常用机制,如互斥锁、信号量、条件变量等,让你掌握编写健壮、高效的多线程程序的关键。 5. 系统调用的桥梁:用户空间与内核空间的交互 应用程序在用户空间运行,而操作系统则运行在特权更高的内核空间。当应用程序需要访问硬件资源、创建新进程、进行文件I/O等操作时,它必须通过“系统调用”向操作系统发出请求。本书将深入解析系统调用的原理,揭示用户空间和内核空间是如何通过这一机制进行交互的。 我们将了解不同类型的系统调用,以及它们在操作系统内部是如何被处理的。理解系统调用,你将明白应用程序与操作系统之间的界限,以及操作系统如何作为硬件的守护者,为应用程序提供安全、可靠的服务。 6. 文件系统的奥秘:数据的持久化与组织 数据需要被持久化存储,这便是文件系统的职责。本书将带你探索文件系统的内部机制。文件和目录是如何组织的?文件系统如何管理磁盘空间,实现文件的创建、删除、读写?我们将了解不同的文件系统类型,以及它们在设计上的差异。 本书还将深入文件系统的元数据管理,理解 inode 的作用,以及目录项如何关联文件名与文件数据。你将明白,看似简单的文件操作背后,是文件系统复杂而精巧的设计。 7. 网络通信的基石:从数据包到连接的旅程 在信息爆炸的时代,网络通信无处不在。本书将为你勾勒出网络通信的整体图景,从底层的数据包传输到应用层的协议。我们将探讨TCP/IP协议栈的工作原理,了解IP地址、端口号的含义,以及TCP的可靠连接是如何建立和维护的。 虽然我们不深入 x86/x64 特定的网络编程接口,但本书将为你建立起理解任何网络通信协议和机制的扎实基础。你将理解,为何网络上的信息能够准确无误地从一个设备传输到另一个设备,其背后的技术是何等精妙。 二、 编程的深度:在理解的基础上构建高效应用 掌握了计算机系统的底层逻辑,你的编程能力将迈上一个全新的台阶。本书并非止步于理论的阐述,更重要的是将这些底层知识转化为解决实际编程问题的能力。 1. 性能优化的艺术:洞悉瓶颈,榨干每一分潜力 理解了CPU的工作原理、内存的访问模式、以及数据的流动,你便能更好地进行性能优化。本书将指导你如何识别程序中的性能瓶颈,例如CPU密集型计算、频繁的内存访问、低效的I/O操作等。 我们将探讨一些通用的性能优化技巧,例如算法的优化、数据结构的合理选择、缓存友好型编程等。通过对系统运行机制的深入理解,你将能够编写出更快速、更节省资源的程序。 2. 安全性的考量:防患于未然,守护数据安宁 了解了内存管理、进程隔离等底层机制,你便能更深刻地理解程序安全性的重要性。本书将引导你认识常见的安全漏洞,例如缓冲区溢出、整数溢出等,并探讨如何通过良好的编程实践来避免这些问题。 我们将讨论操作系统提供的安全机制,例如地址空间布局随机化(ASLR)、数据执行保护(DEP)等,以及它们如何在底层帮助我们抵御攻击。理解底层原理,你便能更好地编写出安全可靠的软件。 3. 跨平台开发的思维:理解共性,规避特性 虽然本书不针对特定架构,但其所阐述的底层原理,却是构建跨平台软件的基础。通过理解不同操作系统在内存管理、进程调度、文件I/O等方面的通用原理和细微差异,你将能够写出更具可移植性的代码,并能更好地应对跨平台开发中的挑战。 三、 谁适合阅读这本书? 初级开发者: 渴望深入理解代码如何运行,而不仅仅是调用API的开发者。 中高级开发者: 希望提升程序性能、理解程序安全,并能站在系统层面思考问题的开发者。 操作系统爱好者: 对计算机系统内部运作充满好奇,希望构建更全面知识体系的学习者。 计算机科学专业的学生: 将本书作为理解操作系统、计算机组成原理等课程的补充材料,加深理论认知。 任何对技术有强烈求知欲的人: 愿意投入时间和精力,探索技术世界深层奥秘的读者。 《代码的深度:不止于 x86/x64 的系统之旅》 将是你理解计算机世界的最佳向导。它将为你打开一扇通往更广阔技术领域的大门,让你在未来的学习和实践中,拥有更清晰的视野和更强大的能力。让我们一起,从“知道”走向“理解”,从“使用”走向“创造”,共同探索代码的深度。

用户评价

评分

作为一名有一定年头的程序员,我曾经认为我对x86/x64架构已经有了相当的了解,毕竟我每天都在和它打交道。但《x86/x64体系探索及编程》这本书,却以一种意想不到的方式挑战了我的认知。书中对CPU的指令集进行了一次非常深入的梳理,不仅仅是罗列,而是讲解了这些指令的起源、设计理念以及在不同场景下的应用。我尤其对书中关于 SIMD(单指令多数据)指令集的讲解印象深刻,作者通过具体的例子,展示了如何利用这些指令来加速向量运算和多媒体处理,这让我意识到,即便在看似简单的算术运算中,也蕴藏着巨大的性能优化潜力。而且,书中对于汇编语言的讲解也并非仅仅停留在“会写”的层面,而是着重于“理解”其背后的逻辑和效率,这对于我这种习惯了高级语言的开发者来说,是一次非常宝贵的“反向学习”过程。这本书的价值在于,它不仅传授知识,更在于它引导你去思考“为什么”,这种深入探究的精神,在快节奏的开发环境中往往被忽视,而这本书恰恰提醒了我们,底层原理的理解,是构建更强大、更高效软件的基石。

评分

坦白说,我在阅读《x86/x64体系探索及编程》之前,对操作系统内核的运作机制知之甚少。我只知道有进程、线程、内存管理这些概念,但具体它们是如何在底层实现的,我一直没有一个清晰的概念。这本书的出现,恰好填补了这一知识空白。作者在书中花了大量篇幅讲解了x86/x64架构下的内存管理单元(MMU)、页表、段机制等核心概念,并结合实际场景,解释了操作系统是如何利用这些硬件特性来为应用程序提供抽象和保护的。我特别喜欢书中关于虚拟内存的讲解,作者用类比的方式,将复杂的地址转换过程描绘得生动形象,让我能够清晰地理解物理内存和虚拟内存之间的关系。此外,关于中断处理、系统调用等内容,也让我对应用程序与操作系统之间的交互有了更深刻的理解。这本书的写作风格非常严谨,但又不失趣味性,让我能够沉浸其中,不知不觉地就掌握了许多复杂的知识点。总而言之,这本书是一本极具价值的参考书,它不仅帮助我理解了x86/x64架构的强大之处,更让我对现代操作系统的设计原理有了全新的认识。

评分

我本来是抱着学习一些底层调优技巧的心态来购买这本《x86/x64体系探索及编程》的,毕竟在实际工作中,对性能的极致追求往往离不开对硬件架构的深入理解。然而,这本书带给我的远不止这些。作者在描述x86/x64架构时,并没有停留在枯燥的指令集列表上,而是花了相当大的篇幅去解释这些指令背后的设计哲学和演进历史。这就像是在解读一本古老的武林秘籍,你不仅要学会招式,更要理解招式背后的心法。通过对不同指令集、寻址模式以及CPU流水线等机制的细致讲解,我开始明白为何某些代码写法能带来显著的性能提升,而另一些则会成为性能瓶颈。书中的示例代码也十分贴切,能够直观地展示理论与实践的联系。更让我印象深刻的是,作者在讨论某些高级特性时,比如内存模型和缓存一致性,能够用非常通俗易懂的语言来阐述其复杂性,这对于非科班出身的我来说,简直是福音。这本书无疑为我打开了一扇通往更深层次编程领域的大门,让我不再满足于只停留在API层面,而是开始渴望去触碰那些更接近硬件的本质。

评分

这本书的封面设计相当朴实,我最初拿到它的时候,并没有抱有太高的期待。毕竟“体系探索”这个词本身就带有一些神秘感,而“x86/x64”更是让人联想到冰冷的代码和繁复的汇编指令。然而,当我翻开第一页,一种截然不同的感觉扑面而来。作者并非直接丢出晦涩的理论,而是以一种引人入胜的方式,将我带入了一个由寄存器、内存地址和指令周期构成的微观世界。最让我惊喜的是,书中大量运用了生动的类比,将那些抽象的概念具象化,仿佛我真的在操纵着CPU的每一个时钟脉冲,感受着数据在内存中穿梭的脉动。那些原本令人生畏的底层细节,在作者的笔下变得鲜活有趣,甚至带有一丝奇妙的韵味。我发现自己不再是被动地学习,而是积极地去思考,去推演,去理解CPU是如何一步步执行我们编写的代码。那种豁然开朗的感觉,如同拨云见日,让我对计算机底层的工作原理有了前所未有的清晰认识。即便我是一个已经从业多年的开发者,在这本书中,依然能找到许多值得深思的视角,它帮助我重新审视了那些习以为常的代码,也让我对未来的技术发展有了更深的洞察。

评分

我最初被《x86/x64体系探索及编程》吸引,是因为我对计算机底层工作的神秘感。我总觉得,我们写的代码最终是依靠硬件来执行的,而这个“依靠”的过程,一定充满了精妙的设计和巧妙的机制。这本书恰好满足了我的好奇心。它并没有用过于枯燥的术语来轰炸我,而是通过一条清晰的脉络,将我引向了CPU的内部世界。从最基本的指令执行流程,到复杂的内存管理单元,再到多核处理器的协同工作,作者都用一种循序渐进的方式进行讲解,让我能够逐步建立起对整个体系的认知。我尤其喜欢书中关于缓存机制的描述,作者将CPU缓存比作“工作台上的小抽屉”,生动形象地解释了它如何加速数据的访问。这种将复杂技术原理与日常事物类比的方式,极大地降低了学习门槛,让我能够更轻松地理解那些原本晦涩难懂的概念。这本书的价值在于,它让我不再是“知其然而不知其所以然”,而是真正地理解了计算机是如何工作的,也让我对编程有了更深层次的敬畏和理解。

评分

作者是我朋友,写的确实不错。

评分

商品很好啊,很实用的东东呀

评分

不怎么样,intel手册

评分

这本书是比较实战的一本书,把PC的基本结构充分挖掘,国内很少这样的书,值得推荐

评分

好书,质量好,喜欢,爽呀……????

评分

丰富的内容,超乎买之前的预想

评分

听说很不错,比看intel的手册要好,但还没看呢。

评分

还好吧 没用券 买亏了

评分

做活动的时候买的,很不错的书

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.teaonline.club All Rights Reserved. 图书大百科 版权所有